Не может получить доступ к реквизитам за пределами конструктора React Native - PullRequest
0 голосов
/ 18 марта 2019

Я работаю над приложением в React Native, и у меня возникают проблемы с доступом к реквизитам, которые я добавляю в созданный мной компонент.

Если в конструкторе я сделаю console.log(this.props), я смогу увидеть реквизитыотображать в консоли по желанию, однако, если я добавлю его любым другим способом, будет напечатано неопределенное значение.Как я могу получить доступ к реквизитам, которые явно отправляются компоненту извне метода конструктора?

1 Ответ

2 голосов
/ 18 марта 2019

Возможно, вы добавляете новые методы, которые не являются обязательными this.

Проверьте, пишете ли вы метод следующим образом:

myMethod(){
  //Code
}

и просто измените его на:

myMethod = () => {
  //Code
}

Редактировать: Как @ Li357 говорит, они называютсяфункции стрелок.Функции со стрелками не связывают это автоматически, и, как следствие, получают данные этого класса.В вашем случае это решит вашу проблему, поскольку вы хотите получить доступ к свойствам этого класса, но вы можете прочитать об этом и о том, как работает связывание в классах JS.

Другой вариант - написать function.bind (), но в любом случае он должен работать.

...