this.props不是函式react.js

时间:2019-01-05 08:27:30

标签: reactjs function

为什么我收到错误_this.props.onLogin is not a function。我也尝试过绑定... 这里是我的孩子班级的相关部分,名为Login

onValidSubmit = (formData) => {
  console.log('logging from onvalidSubmit');
  this.props.onLogin(formData);   
};

我的父类正在像调用此组件。道具似乎没有传递给组件。

<Route exact path='/login' render={props=> <Login  onLogin = {this.onLogin}/>}/>

父类中的调用函数是:

onLogin = (formData) => {
  console.log('onLogin of Main');
  this.props.logInUser(formData);
};

但是不幸的是,这个onLogin函数将永远不会被调用。我在子组件中收到错误_this.props.onLogin is not a function? 阿诺德

2 个答案:

答案 0 :(得分:1)

请在路由器中提供{...props}

替换

<Route exact path='/login' render={props=> <Login  onLogin = {this.onLogin}/>}/>

<Route exact path='/login' render={props => <Login {...props} onLogin = {this.onLogin}/>}/>

答案 1 :(得分:0)

谢谢大家。定义BrowserRouter时出错。我定义了两次,因此是这种行为。 阿诺德