Ant Design Table 表格数据不刷新问题

AI-摘要
Claude - 3.5 Sonnet GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Ant Design Table 表格数据不刷新问题
Dev.024问题查找
最近在 使用 React Ant Design 组件开发表单的时候遇到了离谱问题,不管是从 state 还是从 zustance 的状态中拿的 userList 都不会引起状态的更新。
- 因为 React 重渲染的特性,排查了是不是 memo 导致的子组件没渲染。通过在父子组件打印 log 的输出已排查不是这个问题
- 检查 zustand 的问题,取消使用 useshallow,发现父子组件都在重渲染,但是表单没更新,排除
- 检查表单 rowKey,把数据都设置了唯一的 key,还是没重渲染,排除
1 | <Card title="用户列表" extra={<Button onClick={handleShow}>新增</Button>}> |
最后,通过社区找到问题。
传入 dataSource 的数据是数组(切片),在内存中表现的只是一个引用类型的内存地址。如果直接赋值,那么内存地址不变,自然不会引起表单的刷新。
所以不管是 useState,还是从状态管理中拿的数据,都需要使用 “…” 创建一个新的内存地址。
最好留个好习惯,如果在给一个对象或数组赋值前,给使用拷贝赋值,不能直接把源值直接赋给新变量
1 | addUserList: data => { |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果