Можно взять react-router, и у компонента, при изменении props, в момент componentWillReceiveProps (getDerivedStateFromProps) устанавливать новое состояние. Хотя тут в состояние то писать в целом необязательно, так как у вас строка URL адреса и есть состояние. Оно актуальное, незачем дублировать.
Если без react-router'a, то посмотрите в этом туториале пункт "
обучаем Router реагировать на изменение адреса" (там не react-router, а просто сделанный компонент Router)
Кнопка "назад" работает, если использовать browserHistory / hashHistory из коробки.