如何将 redux-sagas 与 react-hooks 一起使用
Posted
技术标签:
【中文标题】如何将 redux-sagas 与 react-hooks 一起使用【英文标题】:how to use redux-sagas with react-hooks 【发布时间】:2020-01-06 22:45:26 【问题描述】:我想知道如何将 redux sagas 与 react hooks 一起使用,redux 是如何实现的,有什么独特的用例需要了解吗?
我应该使用常规的反应调度吗?
【问题讨论】:
【参考方案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])
...
【讨论】:
介意提供一个变化的样本吗?这样我们就不用到处打猎了? @BBaysinger 我不确定你的意思,如果你正在寻找源文件,它在github.com/KevinDanikowski/…以上是关于如何将 redux-sagas 与 react-hooks 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
将异步操作分派到 redux-saga 后如何捕获 redux 存储中的更改
redux-saga 与 redux 一起使用会导致 render() 被调用两次
react-hot-loader 与外部 configureStore 使用 redux-saga 抛出“regeneratorRuntime 未定义”