使用antd的Tree组件,在onSelect中使用useState的set方法。
useState定义:
const [GroupCheck, setGroupCheck] = useState(new Map()); // 组选中数据
使用:
然后就出现问题了,GroupCheck组件内无更新。groupSelect则出现所需的值。当Tree组件内已选中两项时,选中组别3:
当点击选中框选中组别4后再次点击组别3时,打印内容:
后来发现问题出现在初始化赋值上,正确写法应为
准确来说,不是useState的坑,而是本身对数据类型的定义了解不透彻而导致的问题。