Это всегда работало. Причина, по которой я не думал, что это сработало, заключалась в том, что я получал ошибку в своем <Dashboard />
компоненте.
Я ссылался на user
, когда он не существовал, но я был сбит с толку, потому что Я предполагал, что <Redirect />
произойдет до того, как достигнет <Dashboard />
. Это не так.
Я исправил свою ошибку в <Dashboard />
, поместив ее в верхнюю часть функции Dashboard:
// prevent rendering if user does not exist
if(!props.user) {
return false;
}
Однажды компонент Dashboard возвратил false
, перенаправление прошло успешно.
Я предполагаю, что компоненты визуализируются до того, как маршрутизатор выполнит перенаправление. Это не супер интуитивно понятно, но теперь, когда я это знаю, все это имеет смысл.