【发布时间】:2017-08-15 17:22:53
【问题描述】:
我真的不知道为什么我不能让它工作。所有的证据都反对它......情况就是这样:
我有一个数据网格和一个搜索面板。当搜索面板更改时,搜索参数会更新并用于更新数据网格。
触发链的事情是用户更改搜索面板时。在我的组件中,我通过以下方式处理搜索面板更改:
getPhotos(key, value) {
const change = [{ key: key, value: value},{ key: 'page', value: 1}]
this.props.dispatch(updateSearchParams(change))
console.log('payload.searchParams', this.props.searchParams);
this.props.dispatch(
getPhotos(
{ context:this.props.params.context,
searchParams: this.props.searchParams }
)
);
}
因此,对动作创建者的两个调度调用构成了组件。问题是 searchparams 没有及时更新 getPhotos 调用,因此网格没有相应更新。
我认为调度调用是同步的——因此一个接一个。我想这是从组件到动作创建者,到商店和减速器的往返,这正在“搞砸”它。 第一次调用不涉及任何异步调用。
这样做的“正确”方法是什么?请具体说明组件、动作创建者和减速器中的内容。
谢谢
【问题讨论】:
标签: reactjs redux redux-thunk