J'ai récupéré des données stockées à l'aide de useState dans un tableau d'objets, les données ont ensuite été sorties dans des champs de formulaire. Et maintenant, je veux pouvoir mettre à jour les champs (état) au fur et à mesure que je tape.
J'ai des exemples de personnes mettant à jour l'état de la propriété dans un tableau, mais jamais pour l'état d'un tableau d'objets, donc je ne sais pas comment le faire. J'ai l'index de l'objet passé à la fonction de rappel mais je ne savais pas comment mettre à jour l'état en l'utilisant.
// sample datas structure
const datas = [
{
id: 1,
name: 'john',
gender: 'm'
}
{
id: 2,
name: 'mary',
gender: 'f'
}
]
const [datas, setDatas] = useState([]);
const updateFieldChanged = index => e => {
console.log('index: ' + index);
console.log('property name: '+ e.target.name);
setData() // ??
}
return (
<React.Fragment>
{ datas.map( (data, index) => {
<li key={data.name}>
<input type="text" name="name" value={data.name} onChange={updateFieldChanged(index)} />
</li>
})
}
</React.Fragment>
)