如何保证table组件在使用状态的时候,即时更新数据?
我在使用zustand做状态管理的时候,
在组件tsx文件内:
const { projs, getProjs } = useStore()
useEffect(() => {
const data = getProjs()
console.log(' data: ', data, projs) // 打印: data: undefine []
}, []);
projs.store.ts中:
projs: [],
getProjs: (ipcRenderer) => {
ipcRenderer.invoke('getProjs').then((res) => {
console.log("projs:", res) // 这里有打印数据 [{...}]
// set到state
set({projs: res.data})
})
}
但是现在有一个问题,就是我一个table在组件.tsx中使用projs状态,但是我使用的时候,还未执行set({projs: res.data})
,所以是没有数据的。请问,我要怎么才能保证table是在有数据了之后也即时更新table内容为有数据呢?
<ProForm<{
table: DispsysProjs[];
}>
formRef={formRef}
initialValues={{
table: projs,
}}
....
回复
1个回答

test
2024-06-30
useEffect(() => {
formRef.current?.setFieldsValue({
table: projs,
});
}, [projs]);
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容