Есть что-то, что я блокирую, и это не имеет никакого смысла вообще. Для тех, кто знаком с формой реагирования, я пытаюсь создать динамический массив полей c, который будет отображаться в соответствии с объектом состояния. Дело в том, что он рендерится при первом рендере, но не при втором.
Пример:
let subK = [{ name: '' }]
if (kategories[kategori] !== undefined) {
//subK = kategories[kategori].subKategori.map(x => ({ name: JSON.stringify(x) }))
subK = kategories[kategori].subKategori.map(x => ({ name: (x) }))
}
console.log(subK) // it logs[{name: 'kat1'},{name: 'kat2'}]
//defines the form
const { register, control, handleSubmit } = useForm({
defaultValues: {
subKategori: subK
}
});
не отображает subK .
Но если я сделаю
let subK = [{ name: '' }]
if (kategories[kategori] !== undefined) {
//subK = kategories[kategori].subKategori.map(x => ({ name: JSON.stringify(x) }))
subK = kategories[kategori].subKategori.map(x => ({ name: (x) }))
}
console.log(subK)
//defines the form
const { register, control, handleSubmit } = useForm({
defaultValues: {
subKategori: [{name: 'kat1'},{name: 'kat2'}]
}
});
, он будет отображаться так, как предполагается.
Что я делаю не так?