javascript - React hooks、函数组件和 Redux

标签 javascript reactjs redux

React hooks 使得无需类声明(仅函数组件)即可使用所有 React 功能,例如组件状态和生命周期方法。这减少了样板文件、重复并协商了容易出现错误的 this 关键字的使用。此外,由于函数组合,它可以轻松地在不相关的组件之间隔离和共享公共(public)状态管理逻辑。

但是,hooks 并没有取代 Redux,因为它是集中式且可预测的状态容器。是否可以将 React 函数组件连接到 Redux,因为我想拥抱 future React 的仅函数范式并仍然使用 Redux?

最佳答案

回答您的问题:

Is it possible to connect React function components to Redux?

是的,有可能,没有什么区别。简单的例子:

import { useState } from "react";
import { connect } from "react-redux";

const Foo = ({ bar, handleOnClick }) => {
  const [foo, setFoo] = useState(true);

  return (
    <div onClick={handleOnClick}>
      {foo}
      <div>{bar}</div>
    </div>
  );
};

const mapStateToProps = state => ({
  bar: state.bar
});

const mapDispatchToProps = dispatch => ({
  handleOnClick() {
    dispatch({ type: "foo" });
  }
});

export const FooContainer = connect(
  mapStateToProps,
  mapDispatchToProps
)(Foo);

实际上,你可以在 Redux 文档 intself 中看到:

关于javascript - React hooks、函数组件和 Redux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57841548/

相关文章:

javascript - 如何在 javascript 中测试 css 颜色

javascript - 在 ReactJs 应用程序中无法识别 this.state.data

javascript - 如何在 React 中使用 useCookies 完全删除 cookie 而不会留下未定义

javascript - React Redux 不调度 API 调用来删除玩家

javascript - 为什么 onClick 会触发多次

Javascript 对象没有值的键

javascript - React/Redux - 具有 Redux 的子组件会更新某些父状态更改,而不是其他状态更改

javascript - 如何在 AngularJS 中处理实时数据和查看状态

javascript - 如何定位和解决多个外部Javascript和CSS引起的冲突?

javascript - 在 webRTC 中使用电子邮件发送信号