Как получить значение radio кнопки и менять его в state
Не обновляется checked
. Он остается таким же, что и в state
.
export default () => {
const [value, setValue] = useState([
{title: "test1", active: true},
{title: "test2", active: false},
{title: "test3", active: false},
]);
const func = title => {
value.forEach(e => e.title === title ? e.active=true : e.active = false);
setValue(value);
}
return (
<>
{value.map(el => <input type="radio" value={el.title} checked={el.active} onClick={func(title)}>)}
</>
);
}
Понятно, что нужно использовать useEffect()
, но я не могу понять как именно. Пробовал даже так:
useEffect(() => {
value.forEach(e => {
...
})
}, [])
Изначально я вообще хотел сделать, чтобы были <button />
. При клике, на одну из них, она как radio кнопка стала активной, а остальные нет. Но проблема была аналогичной.
Источник: Stack Overflow на русском