Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeError:无法读取属性';推动';未定义ReactJS的定义_Reactjs_React Router_Typeerror - Fatal编程技术网

TypeError:无法读取属性';推动';未定义ReactJS的定义

TypeError:无法读取属性';推动';未定义ReactJS的定义,reactjs,react-router,typeerror,Reactjs,React Router,Typeerror,这是handleSubmit函数您是这样包装组件的吗?如果不是这样包装的话 import { withRouter } from 'react-router'; class Specification extends Component {(...)} export default withRouter(Specification); 如果没有绑定函数,则使用arrow函数 handleSubmit = (e) => { e.preventDefault(); th


这是handleSubmit函数

您是这样包装组件的吗?如果不是这样包装的话

import { withRouter } from 'react-router';

 class Specification extends Component {(...)}
 export default withRouter(Specification);
如果没有绑定函数,则使用arrow函数

handleSubmit = (e) => {
    e.preventDefault();
    this.props.history.push("/slider");
}

你是这样包装你的部件的吗?如果不是这样包装的话

import { withRouter } from 'react-router';

 class Specification extends Component {(...)}
 export default withRouter(Specification);
如果没有绑定函数,则使用arrow函数

handleSubmit = (e) => {
    e.preventDefault();
    this.props.history.push("/slider");
}

您可以按照以下步骤解决此问题

  • 从“react router dom”导入{withRouter}

  • onClick={this.handleSubmit.bind(this)}

  • 使用路由器导出默认值(组件名称)


  • 您可以按照以下步骤解决此问题

  • 从“react router dom”导入{withRouter}

  • onClick={this.handleSubmit.bind(this)}

  • 使用路由器导出默认值(组件名称)


  • useHistory()
    是一个钩子,只能在功能组件内部使用。如果您的组件不是由
    路由
    渲染的。用路由器将其包裹起来,否则将其转换为功能组件。您是否绑定了
    handleSubmit
    函数?
    useHistory()
    是一个钩子,只能在功能组件内部使用。如果您的组件不是由
    路由
    渲染的。用路由器把它包装起来,否则就把它转换成功能组件。你绑定了你的
    handleSubmit
    函数吗?是的,我绑定了,如果我使用
    handleSubmit=(e)=>{e.preventDefault();const history=useHistory();this.props.history.push(“/slider”)}/code>它给我错误:无效的钩子调用。钩子只能在函数组件的主体内部调用。发生这种情况可能是因为以下原因之一:@tejesh我看到您正在使用类组件,不要在这里使用钩子…This.props.history.push()将起作用。是的,但有了它,我得到了TypeError:无法读取undefinedNow的属性“push”。在工作时,我做了一些更改,如您所述,
    从“react router”导入{withRouter};和路由器(规格)谢谢你,伙计!是的,如果我使用
    handleSubmit=(e)=>{e.preventDefault();const history=useHistory();this.props.history.push(“/slider”);}
    它会给我错误:钩子调用无效。钩子只能在函数组件的主体内部调用。发生这种情况可能是因为以下原因之一:@tejesh我看到您正在使用类组件,不要在这里使用钩子…This.props.history.push()将起作用。是的,但有了它,我得到了TypeError:无法读取undefinedNow的属性“push”。在工作时,我做了一些更改,如您所述,
    从“react router”导入{withRouter};和路由器(规格)谢谢你,伙计!
    
    handleSubmit = (e) => {
    e.preventDefault();
    this.props.history.push("/slider");}