Я использую react-navigation
для навигации между двумя экранами при передаче данных между ними.
Расход:
Экран A (передает данные) -> Экран B -> (обновляет и передает данные обратно) Экран A.
На экране A я использую дочерний компонент, который необходимо обновлять / перерисовывать при получении данных с экрана B.
Я проверил, правильно ли передаются данные, и я уверен, что состояние, используемое дочерним компонентом на главном экране, обновляется. Я просто не могу понять, почему дочерний компонент не выполняет рендеринг после прочтения нового значения состояния?
Главный экран:
updateCount(data) {
// Logic to update state of a counter variable
this.setState({ count: data })
}
// and then later on in the code, I'm calling the child Component 'B'
<B prop={this.state.count} />
Компонент B:
componentWillMount() {
// based on value of this.props.count, I'm setting the value of 'text' in this component
if(this.props.count == 1) {
this.setState({text: 'abc'})
} else {
this.setState({text: 'cde'})
}
}
// later on in the code, render method:
<View>
<Text>
{this.state.text}
</Text>
</View>