Как разработчик iOS, я немного борюсь с нативным реагированием.
У меня есть два компонента внутри разных классов:
Компонент A — это представление с TextInput
class A extends Component<Props>{
state = {
textFieldValue: ""
};
render() {
return (
<View>
<TextInput placeholder = {this.props.placeholderText}
ref = {textField => {
this.textField = textField;
}}
value = {this.state.textFieldValue}
onChange = {e => this.setState({ textFieldValue: e.target.value})}/>
</View>
);}
}
Компонент B использует A в своем представлении
class B extends Component<Props>{
render() {
return (
<View>
<A placeholder = {"test"}/>
<TouchableOpacity onPress = {() => {
//show text of input A here
}}>
<View>
<Text>{text}</Text>
</View>
</TouchableOpacity>
</View>
);}
}
Как я могу получить доступ к значению/состоянию со значением TextInput в A из B, чтобы показать его при нажатии кнопки?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте это на классе B
class B extends Component<Props>{
render() {
return (
<View>
<A placeholder = {"test"} ref = {c => this.textRef = c}/>
<TouchableOpacity onPress = {() => {
//show text of input A here
alert(this.textRef.state.textFieldValue)
}}>
<View>
<Text>{text}</Text>
</View>
</TouchableOpacity>
</View>
);}
}
Получите доступ к ссылке на класс A через реквизиты ref, а затем получите его собственное состояние.
это тоже было моим предположением, но оно возвращает undefined
Хорошо, я использовал onChange вместо onChangeText... теперь это работает