react的hook踩坑,useState的set方法不生效问题
2020-09-29 本文已影响0人
这名字咋啦
使用antd的Tree组件,在onSelect中使用useState的set方法。
useState定义:
const [GroupCheck, setGroupCheck] = useState(new Map()); // 组选中数据
使用:

然后就出现问题了,GroupCheck组件内无更新。groupSelect则出现所需的值。当Tree组件内已选中两项时,选中组别3:


当点击选中框选中组别4后再次点击组别3时,打印内容:

后来发现问题出现在初始化赋值上,正确写法应为

准确来说,不是useState的坑,而是本身对数据类型的定义了解不透彻而导致的问题。