动态修改react表中的数据



我使用的是"react-table"; "该表的数据正在使用useSelector从redux中获取。但是它总是使用之前的状态,而不是更新后的状态。

const { structuredEmi } = useSelector((state) => state.form)
{
structuredEmi
<IntrestBasisTable headerData dataa={structuredEmi}/>
}

github gist for interest basis table:

https://gist.github.com/rohit - rai - 0101 rm/ccfb0209b2696cb4dc9feafdc77efdab

您是否在代码中使用useMemo?像这样->const data = useMemo(() => dataa, []);

如果是,我们试着删除useMemo。

Hai Huynh Ngoc正确地指出,这是由于使用useMemo钩子与一个空列表,这意味着你的data变量永远不会更新一旦最初设置。

虽然删除useMemo钩子将解决您的问题,但不建议使用将参数传递给react-table的useTable钩子时。这样做可能会降低效率,因为useTable将在组件的每个渲染上运行其底层代码,而不管底层数据是否已更改。

推荐解决方案一个更有效的解决方案是将dataa变量包含在传递给useMemo调用的依赖项数组中,从而在dataa更改时正确更新。

因此,您提供的要点的第55行应该是
const data = useMemo(() => dataa, [dataa]);

查看React官方文档获取更多信息。

最新更新