假设我们的容器组件接受查询字符串中的过滤器/排序/分页信息。此信息是从 componentWillMount
中的URL中提取的,并在容器的状态上设置。然后,该状态(比如说page
)作为page
的属性传递给我们的表对象。我们将onFetchData
连接为onFetchData={state => fetchData(state)}
。在我们的fetchData
函数中,我们提取反应表的传入page
和pageSize
并切片数据,然后将其设置为状态。接下来,render函数再次触发,提取状态值并将其设置在表格的道具上。
听起来很合理,但是似乎此render> onFetchData循环没有止境地发生,直到浏览器触发“超出最大更新深度”错误为止。
首次加载组件时,我们需要能够设置 initial 页面,但是react-table看起来并不像这样。
更新
事实证明这是我向其发送PR的反应表中的错误:
错误:https://github.com/react-tools/react-table/issues/1230
答案 0 :(得分:0)
每次更新时,看起来好像是错误的结果。这是任何需要它的人的解决方法:
如果要设置初始页状态,可以在componentWillMount
期间将初始页号设置为状态。参见:codesandbox.io/s/1o49po0rvl