reactjs - 使用 React-Redux Hooks 和 React-Redux Connect() 之间的主要区别是什么?

标签 reactjs react-redux react-hooks

我即将开始一个使用 React-Redux 的项目。对于 API 引用,有 Hooks 和 connect()。因为,Hook 是连接 API 的替代品。使用钩子(Hook)或连接到我的 React-Redux 项目有什么区别。

最佳答案

What is the difference between using hooks and connect to my React-Redux project

有两个主要区别:

  • 范围
    connect 可以与 React 类组件和函数组件一起使用,而钩子(Hook)只能与函数组件一起使用。

  • 性能与简单性
    使用钩子(Hook)更简单。简单性是有代价的:与 connect 相比,您可以进行的性能调整更少。哪个更复杂:您将其称为传递配置选项(很少或很多)并返回 connect 的“配置风格”。这种风格是 HOC,您可以通过传递组件来将其重新包装起来。

    主要配置选项之一是已经提到的mapStateToProps函数。您不必使用它,但大多数情况下您会使用它。还有 4 个其他函数的存在只是为了给您提供各种机会来提高您将使用 connect 封装的组件的性能。这些函数称为:
    areStatesEqual
    areStatePropsEqual
    areOwnPropsEqual
    areMergedPropsEqual

    所有 4 个都是可选的。您可以将其作为 connect 配置选项传入,无论是无配置选项还是部分或全部配置选项,并调整性能。值得注意的是,即使您不传入任何函数,这些函数的默认实现(实际上是性能助手)也会应用,因此,您将获得比其钩子(Hook)在性能方面更优化的包装组件对应。

关于reactjs - 使用 React-Redux Hooks 和 React-Redux Connect() 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58027300/

相关文章:

javascript - ReactJS - 复选框 onChange 事件未触发

javascript - ReactJS:如何在数组状态中添加新元素并为其保留 "prevState"?

javascript - React Redux 状态不替换

reactjs - React useRef未定义

reactjs - react 引导模式不显示

reactjs - mixReducers 导致代码中断

Redux + Normalizr : Adding and deleting normalized entities in Redux state

javascript - 使用Reducer React方法

javascript - 为什么我的组件在没有严格模式的情况下渲染两次?

javascript - 如何对 react 表中表行末尾的结果求和