私は非同期アクションを持っています。これはAPIからデータを取り出し、コレクション内のコレクションとマージして、適切な計算をトリガーしてビューを再評価して読み込みます。ReactコンポーネントのライフサイクルメソッドでMobXアクションを呼び出すのは悪い習慣です
私の以前の解決策は、トリガ変数を本体に含める@ async-computedを使用することでした(残念なことに再計算をトリガする以外には使用しません)。
@ computed-async - > @asyncアクションのリファクタリングに満足していますが、私が会った最後の障害物が私をさまよいます。
@computedsが最初に到達したときに初めて計算されますが、@actionは明示的に呼び出す必要があります。
私はストアコンストラクタでそれを呼び出すことはできません。テスト可能ではないため、私ができるのはcomponentDidMountまたはReactコンポーネントのWillMountだけです。 AFAIKこれはパフォーマンス上の理由からcomponentDidMountで行う方が良いです。 しかし、(!)React life cycleメソッドでアクションを明示的に呼び出すのは問題ありませんか?それとも悪い習慣と考えるべきですか?
今のところ、私はむしろ避けていましたが、この1つのケースは@ async-actionで処理する方が良いと思われています。大きなデザインパターンを壊さない限り将来私の顔に戻る。
ありがとうございます!
アップ:
は、より多くのために、この記事を参照してください?アップアップ? – azrahel