Я пытаюсь передать значение input
с одной страницы (Home. js) на другую страницу (Busca. js) в React Native в Expo React Native, но возвращается ошибка, которую я могу не решить: "Undefined is not an object (evaluating 'this.props.navigation.state.params'
".
Home. js
export default class Home extends Component {
constructor(props) {
super(props);
this.state = {
username: '',
};
}
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
...
<Text
style={styles.body}
>Informe aqui a linha que deseja buscar</Text>
<TextInput
style={styles.search}
value={this.state.username}
onChangeText={username => this.setState({ username })}
placeholder={'Enter Any value'}
/>
<Button
title = "Buscar"
color = '#20B2AA'
onPress = { () => { navigate('Busca', {
JSON_ListView_Clicked_Item: this.state.username,
})}}
/>
</View>
)
}
}
Busca. js
export default class Busca extends Component {
render() {
const { navigate } = this.props.navigation;
return (
<View style={styles.container}>
<Text>
You are on SecondPage and the value passed from the first screen is
</Text>
<Text style={styles.title}>
{this.props.navigation.state.params.JSON_ListView_Clicked_Item}
</Text>
<Text style={{ marginTop: 16 }}>With Check</Text>
<Text style={styles.title}>
{this.props.navigation.state.params.JSON_ListView_Clicked_Item
? this.props.navigation.state.params.JSON_ListView_Clicked_Item
: 'No Value Passed'}
</Text>
</View>
);
}
}
Я пытался внести несколько изменений в код, но он всегда возвращает мне эту ошибку