如何将redux-sagas与react-hooks一起使用

时间:2019-09-04 04:44:04

标签: redux react-hooks redux-saga

我想知道如何在React钩子上使用redux sagas,如何实现redux,是否有任何独特的用例需要了解?

我应该使用常规的React调度吗?

1 个答案:

答案 0 :(得分:1)

我很难找到这些信息,所以我为此创建了一个项目,以更好地了解如何将钩子与sagas一起使用。

https://github.com/KevinDanikowski/react-sagas-with-hooks-pokemon-sample-app

尤其是,此代码块将是最有用的,其他所有内容与常规redux的实现相同。

...
  const dispatch = useDispatch();
  const pokemon = useSelector(state => {
    return state.pokemons.find(pokemon => pokemon.id === pokemonId)
  });
  const callPokemon = useCallback(
      () => 
        dispatch({
          type: `GET_POKEMON${useSaga ? '_SAGA':''}`,
          pokemonId
        }),
    [dispatch, pokemonId, useSaga],
  )

  useEffect(() => {
    const getPokemon = () => callPokemon();

    getPokemon();
  }, [callPokemon]) 
...