useSelector() 和 useDispatch() 是否取代了 mapStateToProps() 和 mapDispatchToProps() ?

Rya*_*ins 5 typescript reactjs redux react-redux

我是 React 和 Redux 的新手,我使用的许多指南都是几年前的。看起来 React 和 Redux 中的 Hook 都比较新,我见过的一般建议是将 React 中的类组件替换为函数式组件和useState().

当我进行 Redux 练习时,我不清楚的是mapStateToProps()mapDispatchToProps()connect()是否仍然相关,或者我现在是否可以用useSelector()useDispatch()钩子替换它。

目前,通过mapStateToProps()mapDispatchToProps()设置,我有一个父组件通过多个级别将我的 Redux 存储状态发送给多个子组件。每当我向存储中添加新的状态变量时,这都涉及到通过所有这些组件钻取新状态,由于我使用 Typescript 并且必须更新所有ownProps类型,这使得工作变得更加麻烦。

一种选择是将connect()每个子组件直接存储到商店。对于我实际使用状态变量的每个子组件,我可以改为使用useSelector()and吗?useDispatch()这样做有什么缺点?

谢谢你!

mar*_*son 7

是的,根据另一个答案,React-Redux hooks API 替换了现有的connectAPI,我们特别建议使用 hooks API 作为默认值:

其中一部分是我们建议将 TypeScript 与 Redux 结合使用,并且与 TS 一起使用 hooks API 比以下方式简单得多connect