Javascript 在使用基于类的组件进行react时,是否有一种使用react redux(useDispatch)的方法?我正在使用useDispatch内部渲染函数

Javascript 在使用基于类的组件进行react时,是否有一种使用react redux(useDispatch)的方法?我正在使用useDispatch内部渲染函数,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: React和渲染器的版本可能不匹配(例如React DOM) 你可能违反了钩子的规则 同一应用程序中可能有多个React副本 挂钩仅用于功能部件中。根据客户要求,他们可以从 反应功能组件 定制挂钩 为了回答其他问题 在使用基于类的组件进行react时,是否有一种使用react redux(useDispatch)的方法 是的,有几种方法可以在基于类的组件中使用react-redux。使用react redux

错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一:

  • React和渲染器的版本可能不匹配(例如React DOM)
  • 你可能违反了钩子的规则
  • 同一应用程序中可能有多个React副本

  • 挂钩仅用于功能部件中。根据客户要求,他们可以从

    • 反应功能组件
    • 定制挂钩
    为了回答其他问题

    在使用基于类的组件进行react时,是否有一种使用react redux(useDispatch)的方法

    是的,有几种方法可以在基于类的组件中使用react-redux。使用
    react redux
    库提供的API,该库将动作创建者注入类组件。通过
    this.props
    最终访问所需的
    dispatch
    功能。您可以查看如何使用它的基本示例


    希望这能有所帮助。

    挂钩仅用于功能组件。根据客户要求,他们可以从

    • 反应功能组件
    • 定制挂钩
    为了回答其他问题

    在使用基于类的组件进行react时,是否有一种使用react redux(useDispatch)的方法

    是的,有几种方法可以在基于类的组件中使用react-redux。使用
    react redux
    库提供的API,该库将动作创建者注入类组件。通过
    this.props
    最终访问所需的
    dispatch
    功能。您可以查看如何使用它的基本示例


    希望这有帮助。

    您不能将钩子与类组件一起使用。如中所述,您需要创建一个传递操作的容器/包装器组件

    为此,您必须使用“react redux”中的
    connect
    ,如下所示:

    import { connect } from 'react-redux'
    
    const mapDispatchToProps = dispatch => {
      return {
        onTodoClick: id => {
          dispatch(toggleTodo(id))
        }
      }
    }
    
    const VisibleTodoList = connect(mapStateToProps (HERE NOT NEEDED; IF YOU WANT TO DISPATCH ONLY), mapDispatchToProps)(TodoList)
    
    export default VisibleTodoList
    

    这将通过道具将
    onTodoClick
    传递给组件,您可以像调用任何道具一样调用它:
    This.props.onTodoClick()
    您不能对类组件使用钩子。如中所述,您需要创建一个传递操作的容器/包装器组件

    为此,您必须使用“react redux”中的
    connect
    ,如下所示:

    import { connect } from 'react-redux'
    
    const mapDispatchToProps = dispatch => {
      return {
        onTodoClick: id => {
          dispatch(toggleTodo(id))
        }
      }
    }
    
    const VisibleTodoList = connect(mapStateToProps (HERE NOT NEEDED; IF YOU WANT TO DISPATCH ONLY), mapDispatchToProps)(TodoList)
    
    export default VisibleTodoList
    
    这将通过道具将
    onTodoClick
    传递给组件,您可以像任何道具一样调用它:
    This.props.onTodoClick()