Можете ли вы использовать хук useState внутри функции onClick? - PullRequest
2 голосов
/ 29 апреля 2020

У меня есть следующий код

const {checked, setChecked} = useState(false);
<Form.Check type="checkbox"
                    checked={checked}
                    onClick={(e)=>{
                    setChecked(!checked);
 }}/>

Каждый раз, когда я нажимаю флажок, возникает ошибка react-dom.development.js:327 Uncaught TypeError: setChecked is not a function. Я ожидаю, что это сработает, поэтому я не уверен, что мне не хватает.

Ответы [ 2 ]

3 голосов
/ 29 апреля 2020

Refactor

const {checked, setChecked} = useState(false);

до

const [checked, setChecked] = useState(false);
2 голосов
/ 29 апреля 2020

да, вы можете, но useState не возвращает объект, он перенастраивает массив, поэтому вам нужно написать

const [checked, setChecked] = useState(false)
...