2017-07-17 67 views
4

例如,我有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 

这可能吗?

回答

4

如果使用react-reduxconnect函数将第二个组件连接到商店,则不需要执行任何显式操作来更新组件。您添加到商店的数据将仅作为prop提供给组件。

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

如果您需要在第二个组件中做一些额外的工作,即根据以前的异步调用加载更多数据,则需要实现componentWillReceiveProps函数。

+0

componentWillReceiveProps - 忘了这个 –