と私は非同期が反応選択(Select.Async)を実装してみてください。問題は、redux-sagaでフェッチを行いたいということです。したがって、ユーザーが何かを入力した場合は、fetch-actionがトリガーされます。 Sagaはレコードを取り出してストアに保存します。これまでのところ動作します。 残念ながら、loadOptionsは約束を返さなければならないか、コールバックを呼び出す必要があります。新たに取得したオプションを変更するプロパティで伝播しますので、私は非同期コールを取得するために行うサガと一緒Select.Asyncを使用する方法を参照してくださいません。助言がありますか?使用して、非同期反応選択Reduxの-佐賀
<Select.Async
multi={false}
value={this.props.value}
onChange={this.onChange}
loadOptions={(searchTerm) => this.props.options.load(searchTerm)}
/>
私はクラス変数にコールバックを割り当て、componentWillReceivePropsで解決するハックがありました。その方法は醜いので、私はより良い解決策を探して正しく動作しませんでした。
おかげ
あなたの答えをありがとう!はい、あなたが説明したのとまったく同じ問題を解決したいと思います。ポイントは、私が "optionsRequested"を呼び出さなければならない、react-selectの "onChange"(loadOptions)は、返される約束を期待していることです。それはあなたがそこにフェッチを呼び出すと期待しているからです。私が知っている限りでは、サガを持つコンポーネントで約束を解決する方法はありませんか? https://github.com/JedWatson/react-select#usageと 'onChange'は約束を返す必要はありません: – MethodenMann
こんにちは、私はここのドキュメントを見ました。それは単なるイベントハンドラです。私の例では、私はその後、Reduxので派遣され、最終的にサービス要求を行う 'saga'によって処理されます' optionsRequested'アクションクリエーターを呼び出すために、 'onChange'を使用しています。 – Alex
ねえ。ああ、すみません、私は今混乱しています。私は自分のサガでsearchTermとしてselectの値を使用したくない。 React-selectでは、入力して検索することができます。この検索で私は選択するユーザーのための私の反応を選択するための新しいオプションをフェッチしたい。これは、何千ものレコードが存在する可能性があり、最初はそれらをすべてロードしたくないからです。これはloadOptionsで実現でき、そこには約束が必要です。 – MethodenMann