在 React 中使用 useState 切换状态不会作为对象工作
Toggle state with useState in React wont work as an object
每次执行 toggleTest 函数时,像这样将状态从 true 切换为 false 在使用 hooks 进行反应时效果很好:
const [testToggler, setTest] = useState(false);
const toggleTest = () => {
setTest(!testToggler);
console.log(testToggler);
}
但是当我将它作为对象发送时,它不会切换。怎么样?
const [testToggler, setTest] = useState({ label: 'test', val: false });
const toggleTest = () => {
setTest({label: 'test', val: !testToggler} );
console.log(testToggler);
}
testToggler
是一个对象,所以 !testToggler
总是假的。
您可能想要 .val
属性.
每次执行 toggleTest 函数时,像这样将状态从 true 切换为 false 在使用 hooks 进行反应时效果很好:
const [testToggler, setTest] = useState(false);
const toggleTest = () => {
setTest(!testToggler);
console.log(testToggler);
}
但是当我将它作为对象发送时,它不会切换。怎么样?
const [testToggler, setTest] = useState({ label: 'test', val: false });
const toggleTest = () => {
setTest({label: 'test', val: !testToggler} );
console.log(testToggler);
}
testToggler
是一个对象,所以 !testToggler
总是假的。
您可能想要 .val
属性.