在 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 属性.