Bonjour,
je cherche à passer les données d'un formulaire dans une variable en utilisant le useState
const Initial = () => {
const [ data, setData ] = useState(''); // ici je récupère les valeurs du formulaire
const [ imageSrc, setImageSrc ] = useState(); // form image source
const [ title, setTitle ] = useState(''); la variable title, vide au départ
const { register, handleSubmit, formState: { errors } } = useForm();
const onSubmit = (data) => setData(data); je set les data
je récupère bien mon tableau:
Object { title: "Titre du menu", category: "Catégorie", describe: "description" }
category: "Catégorie"
describe: "description"
title: "Titre du menu"
<prototype>: Object { … }
setTitle(data.title); // et ici j'essaie par exemple de mettre le contenu titre dans la variable title
Ce que je veux
Je veux passer ce que j'obtiens dans le formulaire dans des variables, afin d'écrire les données en bdd.
Ce que j'obtiens
Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.
et quand j'essaie d'utiliser un useEffect la variable data deviens Undefined.
comment faire ? et dois-je utiliser un useCallback pour éviter les rerenders ? si vous voulez bien m'expliquer un peu, ça serait sympa !
Merci de votre aide !
je crois qu cest le sujet du chapitre 15 sur les videos mais je suis pas sur de savoir comment faire...je dirais
j'ai trouvé!
useEffect(
() => {
if (data) {
setTitle(data.title);
setCat(data.category);
setDesc(data.describe);
}
},
[ data ]
);