当前位置 : 主页 > 网页制作 > React >

reactjs – 如何在redux中等待数据

来源:互联网 收集:自由互联 发布时间:2021-06-15
例如,我有2个组件.在第一天我在服务器上执行异步调用,并在调度操作后将响应放入redux存储.在第二个组件中,我想等待响应来存储并做完一些工作. 第一个组件看起来像 const response = aw
例如,我有2个组件.在第一天我在服务器上执行异步调用,并在调度操作后将响应放入redux存储.在第二个组件中,我想等待响应来存储并做完一些工作.

第一个组件看起来像

const response = await api.call(); // async call on server
dispatch(putToTheStore(response)); // put data to the store

第二个组件看起来像

await props.response; // here i want to wait data come to store

// and after it actually come to the store, do some work

可能吗 ?

如果使用react-redux的connect函数将第二个组件连接到商店,则无需执行任何明确的更新组件.您添加到商店的数据将仅作为支柱提供给组件.

如果您需要(同步)对加载的数据执行某些操作,例如应用过滤器,或做一些排序,我建议直接在mapStateToProps函数中执行此操作,因为每次商店更新时都会自动调用此函数来计算组件的新道具.

如果您需要在第二个组件中执行一些额外的工作,即根据先前的异步调用加载更多数据,则需要实现componentWillReceiveProps功能.

网友评论