我试图使用更新后的状态值作为参数从父函数调用处理程序,但是,在调用 setSelected 后状态不会立即更新,因为两个控制台日志都打印 false(初始值)。然而,onClick 函数完成后,它会被更新。
onClick={() => {
console.log("Clicked: ", props.rank, props.suit, selected);
setSelected(!selected)
console.log("selected: ", selected)
// props.handle_card_selected(props.id, selected)
}}
Run Code Online (Sandbox Code Playgroud)
useEffect(() => {
const check_border = () => {
if (selected) {
return "green"
}
return "black"
}
check_border()
}, [selected])
Run Code Online (Sandbox Code Playgroud)