11

非同期の react-select ( Select.Async )を実装しようとしています。問題は、redux-saga でフェッチを実行したいということです。したがって、ユーザーが何かを入力すると、fetch-action がトリガーされます。次に、Saga はレコードを取得してストアに保存します。これはこれまでのところ機能します。残念ながら、loadOptions は promise を返す必要があるか、コールバックを呼び出す必要があります。新しく取得されたオプションは変化するプロパティで伝播されるため、Select.Asyncを saga と共に使用して非同期フェッチ呼び出しを行う方法がわかりません。助言がありますか?

 <Select.Async
   multi={false}
   value={this.props.value}
   onChange={this.onChange}
   loadOptions={(searchTerm) =>  this.props.options.load(searchTerm)}
  />

コールバックをクラス変数に割り当て、componentWillReceiveProps で解決するハックがありました。その方法は醜く、適切に機能しなかったので、より良い解決策を探します。

ありがとう

4

2 に答える 2