Ответ 1
После небольшого поиска, этот README в конечном итоге решает проблему.
В документе предусмотрено два решения:
-
Используйте
addHandlerKey={true}
:<Route handler={User} path="/user/:userId" addHandlerKey={true} />
-
Используйте
componentWillReceiveProps
вместоcomponentDidMount
.- В итоге я использовал
componentDidMount
для начальной загрузки,componentWillReceiveProps
для последующих. - Поскольку они используют один и тот же код, я создал новую функцию
_updateState
и назвал ее в обоих жизненных циклах.
- В итоге я использовал
Мой код:
class Classes extends React.Component {
componentDidMount(){ this._updateState() }
componentWillReceiveProps(){ this._updateState() }
_updateState(){
$.get(/*Some URL*/, (data)=>{
this.setState({data:data})
})
}
}