ホームページ >ウェブフロントエンド >jsチュートリアル >Redux Action Creators の状態アクセスが最適なのはどのような場合ですか?

Redux Action Creators の状態アクセスが最適なのはどのような場合ですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-21 18:45:29329ブラウズ

When is State Access in Redux Action Creators Right for You?

Action Creator での Redux 状態へのアクセス: オプションと考慮事項

Redux では、Action Creator 内のグローバル ストア状態へのアクセスは議論の余地のあるトピックになる可能性があります。ここでは、アクション作成者における状態アクセスの 2 つのアプローチを詳しく掘り下げ、それぞれの長所と短所を検討します。

静的アプローチ

import store from '../store';
export function someAction() {
  return {
    type: SOME_ACTION,
    items: store.getState().otherReducer.items,
  }
}

このメソッドはストアを直接インポートし、ストアがストアであることに依存します。モジュールからエクスポートされたシングルトン。機能しますが、サーバー レンダリングの制限により、リクエストごとに個別のストアが必要になることが多いため、この方法はお勧めできません。

関数アプローチ

export function someAction() {
  return (dispatch, getState) => {
    const {items} = getState().otherReducer;

    dispatch(anotherAction(items));
  }
}

このアプローチでは、推奨される手法である Redux Thunk ミドルウェアを利用します。サンクを使用すると、アクション作成者はプレーンなアクション オブジェクトの代わりに関数をディスパッチできるようになり、dispatch 関数と getState 関数へのアクセスが提供されます。ミドルウェアが必要ですが、クライアント側とサーバー側の両方のレンダリングでシームレスに機能します。

考慮事項

  • Redux 作成者の意見: Dan Abramov は、実際の状態アクセスを推奨していません
  • Redux メンテナの視点: Mark Erikson は、サンクで状態にアクセスすることは受け入れられ、推奨されると信じており、その意図された目的を認識しています。

最終的に、最適なアプローチは個々のアプリケーションの要件によって異なります。理想的には、アクションには最小限の情報が含まれる必要があります。ただし、必要に応じてアクション クリエーターで getState を使用することは許容されます。両方のアプローチの長所と短所を考慮し、プロジェクトに最も適した方を選択してください。

以上がRedux Action Creators の状態アクセスが最適なのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。