Задать вопрос

Как изменить State родителя из дочернего элемента?

В родителе
getlogin = (text) => {
      this.setState({ login: text })
   }

   state = {
      component: <Addprofile getLogin={this.getLogin} />,
      login: ''
   }


В дочернем элементе вызываю через props

<TextInput style = {styles.input}
               underlineColorAndroid = "transparent"
               placeholder = "Логин инстаграм"
               placeholderTextColor = "#9a73ef"
               autoCapitalize = "none"
               onChangeText = {props.getLogin(text)}
               />


Ошибка Cannot read property 'getLogin' of undefined
  • Вопрос задан
  • 259 просмотров
Подписаться 1 Простой 7 комментариев
Решения вопроса 2
rockon404
@rockon404
Frontend Developer
1. Исправляем имя хандлера:
getLogin = (text) => {
  this.setState({ login: text })
};

2. Исправляем передачу хандлера в TextInput:
<TextInput style = {styles.input}
  /* ... */
  onChangeText = {this.props.getLogin}
/>
Ответ написан
RomReed
@RomReed
JavaScript, Flutter, ReactNative, Redux, Firebase
getLogin = (text) => {
      this.setState({ login: text })
   }

   state = {
      component: <Addprofile getLogin={this.getLogin} />,
      login: ''
   }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
this.props.getLogin(text)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы