はじめに
Reduxで使っていた関数をコンポーネント側で利用したかったのですが、時間がかかったので書いておきます
問題
以下のような関数があるとします
saga.ts
export function* fetchUsers() {
console.log("Helllo")
}
この関数をuseEffect
の中で呼びたいと思い以下のように書きました
useEffect(() => {
call(fetchUsers)
}
しかし、useEffectは動いているのにfetchUsersは動いていませんでした
解決方法
Redux Sagaではジェネレーター関数はdispatch
で呼ぶしかなさそうでした
ということでアクションを作成して呼び出すことでうまく行きました
useEffect(() => {
dispatch(fetchUsers())
}
おわりに
Reduxは初心者にとってはなかなか複雑だなと思いました
引き続き頑張りたいです