反应版本是16.13.1。
我想知道使用 redux-saga 进行异步方法是否有一些好处。
const component = () => {
const asyncFunc = async() => { // <- this part should be moved out to redux-saga?
await callMethod();
}
return (
<div onClick={asyncFunc}>button</div>
)
}
我不知道asyncFunc
应该在 redux-saga 或 React 组件中调用。
哪个更好或更有利?
在我看来,我更喜欢在组件中调用异步方法。
用更简单的话来说redux-saga
当我们需要在 redux 操作期间实现一些异步操作时,这是很有用的。
现在您正在做的是处理组件中的副作用,因此您将分派的操作只会更新存储。
这是一个非常简单的用例,您在组件中处理它,考虑一个场景,您需要从 2 个不同的组件获得相同的功能。您将必须在 2 个不同的组件中复制逻辑。
测试将变得困难。
现在再次考虑相同的场景,但问题是因为您可以触发来自两个组件的 API 调用,让我们考虑用户同时触发来自两个组件的 API 调用的场景,处理这两个 API 调用会浪费资源,如果第一个 API 调用仍待处理。
对于所有这种情况,redux-saga 提供了类似的方法takeLatest
, takeEvery
etc.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)