我不明白这里的逻辑。这段代码用于分页,当它点击它时会激活这个功能。
componentDidUpdate() {
const { location } = this.context;
const { query } = this;
if (!isEqual(query, location.query)) {
this.query = clone(location.query);
API.fetchAll( assign({}, query, {
offset : this.getOffset(),
limit : page
}) );
}
}
但猜测我真的不知道它做了什么,你们有什么线索吗?
答案 0 :(得分:1)
当您的组件收到新状态或新道具时,将执行此方法。
它从this.context
(所以this.context.location
)获取位置属性,并从this
查询属性(所以this.query
)。
如果来自this
的查询与位置查询不同 - 可能是因为位置已更改(代码中的信息不足,但我猜测网址已更改)您是重新将新位置的查询分配给this.query
。
当更新查询属性时,您正在对新资源进行API调用。
assign
中的fetchAll
方法可能来自Object.assign
。因此,您正在使用属性查询,偏移量和页面创建新对象。