组件排序后请求数据

时间:2019-05-07 11:30:17

标签: reactjs components axios

我有一个包含两行的表,其中一行包含数据,另一行包含一个较小的表。组件接收道具并向API发出get请求。 当我向大表中添加排序功能时,问题逐渐加剧。在对小表进行排序之后,该小表将重新加载组件,并始终向API发送新请求。

我制作了一张类似于我的小桌子来显示问题。

https://codesandbox.io/s/olm0qmly6q

如果对表进行排序,则说明组件正在重新加载,并且axios发出新的获取请求

如何以某种方式存储数据以限制对API的请求?

感谢帮助!

1 个答案:

答案 0 :(得分:0)

  1. 您需要将componentWillReceiveProps组件中的Table功能更改为componentDidUpdate,并检查name道具是否已更改(或id道具,但您需要请勿将此道具传递给Table组件。)
  2. 您必须将key属性添加到从data.map(user => {...})返回的片段中。

在这里您可以看到结果: https://codesandbox.io/s/2vw54pm780