Vis*_*hal 8 reactjs redux react-redux redux-api-middleware
我有一个自动完成组件,需要来自两个单独的 API 的结果。由于是自动完成功能,因此这两个 API 都需要在去抖动期间一起调用。我正在使用react-redux和redux-api。这是我到目前为止所拥有的。请看我返回的Search方法。问题是只有其中一个呼叫发生。
在我的 AutoCompleteContainer.js 中
const mapDispatchToProps = dispatch => {
const debounceDispatch = debounce(dispatch, 500);
return {
search(term) {
return Promise.all([
// Fix me! Only one of the calls below happens.
debounceDispatch(rest.actions.suggestions({ q: term })),
debounceDispatch(rest.actions.concepts({ corpus: 'desc', term: [term] }))
]);
},
async reset() {
await dispatch(rest.actions.suggestions.reset());
await dispatch(rest.actions.concepts.reset());
}
};
};
Run Code Online (Sandbox Code Playgroud)
我应该在组件级别去抖吗?或者可以在这里完成吗?
您需要有一个分派这两个操作的函数,然后用 装饰该函数debounce。
所以像这样:
const handleAutocomplete = () => {
dispatch(rest.actions.suggestions({ q: term })),
dispatch(rest.actions.concepts({ corpus: 'desc', term: [term] }))
}
const debounceHandleAutocomplete = debounce(handleAutocomplete,500)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13833 次 |
| 最近记录: |