我真的很喜欢新的 React 钩子,并且我经常将它们用于我正在处理的项目中。我遇到了一种情况,我想在 useState
挂钩中使用 prevState ,但我不确定如何执行此操作。
我试过这样的东西,但它无法编译。
const [ someState, setSomeState ] = useState( new Map() )
setSomeState( prevState.someState.set( key, value ) )
(顺便说一句,这是映射一组复选框以跟踪选中标记的复选框)
我在 这里 尝试遵循此示例,但不使用 setState
函数。
谢谢您的帮助!
原文由 Student22 发布,翻译遵循 CC BY-SA 4.0 许可协议
为了使用 Maps ,您需要在操作值之前克隆它。否则,它会改变原始的
Map
并且 React 不能处理可变的state
。更新的工作示例: