reactjs - 设置 react-table page prop 会导致 onFetchData 始终请求同一页面
问题描述
假设我们的容器组件在查询字符串中接受过滤/排序/分页信息。此信息从 URL 中提取componentWillMount
并设置在容器的状态中。然后将此状态(假设只是)作为道具page
传递给我们的 react-table 实例。page
我们将onFetchData
as连接起来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
解决方案
根据您的更新,这看起来可能是错误的结果。这是任何需要它的人的解决方法:
如果要设置初始页面状态,可以在状态期间设置初始页码componentWillMount
。请参阅:codesandbox.io/s/1o49po0rvl
推荐阅读
- javascript - Chargebee: Uncaught TypeError: this.page.urlFetcher(...).then 不是函数
- android - android java.net.UnknownHostException:无法解析主机
- java - 如何重组银行方法中的循环
- qt - 使用 Gradle 构建 QT Android 版本时出错:格式错误的 \uxxxx 编码
- odoo-10 - ODOO Web 服务向 odoo 发送 php 表单
- java - Java 8 流哈希图
- python - GIS:在 Python 中合并多面体
- c# - 将 AMCharts 导出为 PPT
- flask - Cloud Composer 非交互式身份验证
- windows - 嵌套在 if 语句中时,启动 cmd 在 Windows 批处理文件中未正确执行