首页 > 解决方案 > 设置 react-table page prop 会导致 onFetchData 始终请求同一页面

问题描述

假设我们的容器组件在查询字符串中接受过滤/排序/分页信息。此信息从 URL 中提取componentWillMount并设置在容器的状态中。然后将此状态(假设只是)作为道具page传递给我们的 react-table 实例。page我们将onFetchDataas连接起来onFetchData={state => fetchData(state)}。在我们的fetchData函数中,我们提取 react-table 传入的数据page并对pageSize数据进行切片,然后将其设置为我们的状态。接下来渲染函数再次触发,拉取我们的状态值并将它们设置在表格的道具上。

听起来很合理,但是,这个 render > onFetchData 循环似乎没有结束,直到浏览器触发“超出最大更新深度”错误。

当我们第一次加载我们的组件时,我们需要能够设置初始页面,但是 react-table 似乎并不像这样。

更新

这原来是我已发送 PR 的 react-table 中的一个错误:

错误:https ://github.com/react-tools/react-table/issues/1230

公关:https ://github.com/react-tools/react-table/pull/1231

复制:https ://codesandbox.io/s/50knlro2xn

标签: reactjsreact-table

解决方案


根据您的更新,这看起来可能是错误的结果。这是任何需要它的人的解决方法:

如果要设置初始页面状态,可以在状态期间设置初始页码componentWillMount。请参阅:codesandbox.io/s/1o49po0rvl


推荐阅读