useSelector(selectorFunction)
は、selectorFunction
を使用して Redux ストアの状態から特定の部分を選択します。このフックを使用すると、コンポーネントは選択した状態の部分が更新されるたびに再レンダリングされます。const dispatch = useDispatch()
でフックを使用して、dispatch
関数を取得します。この関数を通じてアクションをディスパッチすることができます(例: dispatch({ type: 'ACTION_TYPE' })
)。const store = useStore()
でフックを使用して、Redux ストアのインスタンスを取得します。これは、主に現在のストアの状態へのアクセスや、ストアの dispatch
関数の使用を目的としていますが、通常は useSelector
や useDispatch
によってカバーされるため、useStore
の使用は限定的です。bindActionCreators
ユーティリティに基づいており、特定のアクションクリエーターを簡単に使用できるようにします。bindActionCreators
を使用してカスタムフックとして簡単に作成できます。アクションクリエーターをディスパッチ関数にバインドし、その結果として得られるバインドされたアクションクリエーター関数をコンポーネントから直接呼び出すことができます。https://zenn.dev/luvmini511/articles/819d8c7fa13101
https://zenn.dev/forcia_tech/articles/20220428_hatano_redux_reselect
Redux-Thunkで非同期処理ができる仕組みを理解しよう #React - Qiita
unwrap() して使用します
const resultAction = await dispatch(fetchUserData(userId));
const user = unwrapResult(resultAction);
または
const resultAction = await dispatch(fetchUserData(userId)).unwrap();