История какая, для отображения вложенных страниц я использую следующую конструкцию.
class Screen extends Componen {
constructor(props) {
super(props)
this.state = {
screen: undefined
}
}
render() {
return this.state.screen ? this.state.screen : <div className="content">
</div>
}
}
Далее вызовом
this.setState({screen: <MyMyComponenr/>})
можно менять страницу, она удобно перерисовывается, и все было бы хорошо если бы не одно маленькое но. Если screen ранее был установлен в такой же компонент, то он не перерисовывается при казалось бы присвоении нового компонента.
Нашел выход в виде следующего костыля:
this.setState({screen: undefined}, ()=>{
this.setState({
screen: <ShowScreen />
})
})
}}
Но, что-то мне подсказывает, что я в чем то неправ.
Если ли какой то способ указать реакту, что это новый компонент, и что его надо рендерить заново.