this.props не является функцией response.js - PullRequest
0 голосов
/ 05 января 2019

Почему я получаю ошибку _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 голосов
/ 05 января 2019

Спасибо всем. Это была ошибка, определяющая BrowserRouter. Я определил это дважды, поэтому это поведение. Арнольд

0 голосов
/ 05 января 2019

Пожалуйста, укажите {...props} в вашем роутере.

Заменить

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

до

<Route exact path='/login' render={props => <Login {...props} onLogin = {this.onLogin}/>}/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...