React闭包陷阱
异步加载数据,组件渲染之后,点击事件实时获取最新数据。
初始-状态设置阶段
const [allCityList, setAllCityList] = useState<TreeNodes[]>([]);
初始-绑定点击事件
<a key="set" title="编辑" onClick={async () => await handleEditId(record)} >编辑</a>
handleEditId 函数在首次渲染阶段就创建了事件,捕获的状态也是首次创建的 allCityList 值(空值),后面 allCityList 更新了状态值,handleEditId 事件内仍然是 旧值。
所以要拿到新值,就要用到 useRef 储存值。
如需转载原创文章,请标注原文地址,版权所有!
浙公网安备 33010602011771号