Quiero usar dispatch() en el componente de clase
import React from "react"; import { connect } from "react-redux"; import { useDispatch } from "react-redux"; import {toDo} from "../patials/user"; class SignUp extends React.Component { constructor(props) { super(props); this.onHandle = this.onHandle.bind(this); } onHandle() { const dispatch = useDispatch(); dispatch(toDo()); } render() { return( <button onClick={onHandle}>Action</button> ); } } export default connect()(SignUp)Recibí el error: React Hook "useDispatch" no se puede llamar en un componente de clase. Los React Hooks deben llamarse en un componente de función React o en una función React Hook personalizada react-hooks/rules-of-hooks
No puede usar useDispatch en un componente de clase de reacción, para el componente de clase necesita asignar el envío a accesorios y usarlo de la siguiente manera
// components/AddTodo.js import React from 'react' import { connect } from 'react-redux' import { addTodo } from '../redux/actions' class AddTodo extends React.Component { // ... handleAddTodo = () => { // dispatches actions to add todo this.props.addTodo(this.state.input) // sets state back to empty string this.setState({ input: '' }) } render() { return ( <div> <input onChange={(e) => this.updateInput(e.target.value)} value={this.state.input} /> <button className="add-todo" onClick={this.handleAddTodo}> Add Todo </button> </div> ) } } export default connect(null, { addTodo })(AddTodo)