Oi, Geovana.
O erro que eu recebi é diferente do que você apresentou.
O erro ocorre porque o hook useState está sendo usado fora de um componente funcional. Hooks como useState só podem ser chamados diretamente dentro do corpo de um componente funcional ou de um hook customizado. O erro também ocorre porque você está tentando renderizar JSX dentro de uma função que não é um componente. As alterações abaixo focam em manter o estado centralizado dentro do componente FormularioCard
e corrigir o uso dos hooks. Aqui o handleSubmit
será gerenciado no componente FormularioCard
. Por exemplo:
export default function FormularioCard() {
const [videos, setVideos] = useState([]);
const [title, setTitle] = useState('');
const [section, setSection] = useState('');
const [thumbnail, setThumbnail] = useState('');
const [url, setUrl] = useState('');
const [descricao, setDescricao] = useState('');
const handleSubmit = (event) => {
event.preventDefault();
const novoVideo = {
id: Date.now(),
title,
section,
thumbnail,
url,
descricao,
};
setVideos((prevVideos) => [...prevVideos, novoVideo]);
setTitle('');
setSection('');
setThumbnail('');
setUrl('');
setDescricao('');
};
const handleClear = (event) => {
event.preventDefault();
setTitle('');
setSection('');
setThumbnail('');
setUrl('');
setDescricao('');
};
Entretanto, ainda é necessário fazer o ajuste para renderizar o novo vídeo.