代码之家  ›  专栏  ›  技术社区  ›  Josh M.

设置react table page prop将导致onFetchData始终请求同一页

  •  0
  • Josh M.  · 技术社区  · 7 年前

    假设我们的容器组件接受querystring中的筛选/排序/分页信息。此信息是从中的URL提取的 componentWillMount 设置容器的状态。这个州 page )然后作为 第页 onFetchData 作为 onFetchData={state => fetchData(state)} . 在我们的 fetchData 调用react table的函数已传入 第页 pageSize 对我们的数据进行切片,然后设置到我们的状态。接下来,render函数再次激发,提取状态值并将其设置在表的道具上。

    听起来很合理,但是,在浏览器触发“超过最大更新深度”错误之前,此render>onFetchData循环似乎没有结束。

    我们需要能够设置 最初的 当我们第一次加载组件时,但是react表似乎不喜欢这样。

    结果发现,这是react表中的一个错误,为此我发送了一个PR:

    缺陷: https://github.com/react-tools/react-table/issues/1230

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

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Alison    7 年前

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

    如果要设置初始页状态,可以在 componentWillMount . 见: codesandbox.io/s/1o49po0rvl