我正在开发使用React的Sharepoint在线表单。 Sharepoint Online使用单个页面,例如导航,这意味着没有真实的页面重新加载/刷新。
该表单通过http请求加载数据。但是状态显示包含旧数据。仅在硬刷新/缓存清除后,状态才包含正确的数据。
我的问题是,由于导航的缘故,我的反应状态未得到正确更新。我正在异步获取数据:
printf("%d\n", (struct{ unsigned short x:1; }){0}.x);
public componentDidMount(): void {
this._renderListAsync();
}
发出http请求并设置状态:
_renderListAsync()
目的是每次用户访问该站点时都加载数据。
清除缓存并重新加载时,我的状态会更新为正确的状态。
但是当用户在不同站点之间来回导航时,React只会添加更多组件集:
这是故意的吗?
如何确保状态正确更新并卸载旧组件?