react では、フックで ajax 非同期リクエストを処理できますが、それらを処理するために redux のミドルウェアを使用する必要があるのはなぜですか? 2つに違いはありますか?
人生最曼妙的风景,竟是内心的淡定与从容!
小規模な WebApp の場合、状態は ReactJS を使用してのみ実装できます。リクエストが成功した後、ReactJS コンポーネントの状態を更新します。
しかし、大規模な WebApp では、多くのモジュールと多くの状態が存在し、現時点では、WebApp 全体の状態を管理するために Redux を導入する必要があります。ReactJS は View レイヤーとしてのみ使用され、それに応じて対応する Action をディスパッチします。ユーザーによってトリガーされるイベント ビジネス関連のロジックはありません。
この時、AjaxリクエストはActionで処理されますが、ReduxはデフォルトではPlain ObjectをActionとして配布することしかできません。 redux-thunkミドルウェアを追加すると、その関数をActionとして配布することができ、自由に実行できます。もちろん、関数内で Ajax リクエストを開始して非同期イベントをサポートすることもできます。
小規模な WebApp の場合、状態は ReactJS を使用してのみ実装できます。リクエストが成功した後、ReactJS コンポーネントの状態を更新します。
しかし、大規模な WebApp では、多くのモジュールと多くの状態が存在し、現時点では、WebApp 全体の状態を管理するために Redux を導入する必要があります。ReactJS は View レイヤーとしてのみ使用され、それに応じて対応する Action をディスパッチします。ユーザーによってトリガーされるイベント ビジネス関連のロジックはありません。
この時、AjaxリクエストはActionで処理されますが、ReduxはデフォルトではPlain ObjectをActionとして配布することしかできません。 redux-thunkミドルウェアを追加すると、その関数をActionとして配布することができ、自由に実行できます。もちろん、関数内で Ajax リクエストを開始して非同期イベントをサポートすることもできます。