Использование состояния
Обычно способ использования TextInput
заключается в сохранении значения в состоянии.
Не забудьте инициализировать адрес в вашем состоянии в виде пустой строки, в противном случае нулевое значение для адреса может вызвать ошибку.
constructor(props) {
super(props)
this.state = {
....
address: ''
}
}
Тогда вы можете определить свой текстовый ввод следующим образом
<TextInput
onChangeText={address => this.setState({address})}
value={this.state.address}
/>
Затем в своем addAddress
addAddress(event, result) {
console.log("reference:", this.state.address);
}
Использование ссылок
В качестве альтернативы выможно использовать ._lastNativeText
для доступа к нему из ссылки
<TextInput
ref={ref => { this._inputElement = ref }}>
Input
</TextInput>
, затем в вашем addAddress
addAddress(event, result) {
// I always check to make sure that the ref exists
if (this._inputElement) {
console.log("reference:", this._inputElement._lastNativeText);
}
}
Я бы не рекомендовал второй метод, поскольку вы получаете доступ к закрытым методам, которые могут бытьможет измениться в будущем выпуске.