3

2 つの別個の API からの結果を必要とするオートコンプリート コンポーネントがあります。両方の API は、オートコンプリートであるため、デバウンスされたピリオドと共に呼び出す必要があります。私はreact-reduxとredux-apiを使用しています。これは私がこれまでに持っているものです。私が返す検索方法を見てください。問題は、コールが 1 つだけ発生することです。

私の 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());
    }
  };
};

コンポーネント レベルでデバウンスする必要がありますか? それともここでできますか?

4

1 に答える 1