Я использую React-Router 4.3.1
, и когда я создаю свое веб-приложение, я получаю сообщение об ошибке
Invariant Violation: "You should not use <Redirect> outside a <Router>"
Я использовал <Redirect />
только в 3 местах, и даже когда я комментирую их и собираю, я получаю ту же ошибку. Использование serve
на локальном хосте не вызывает ошибки, и это происходит только тогда, когда я использую express
и обслуживаю его через прокси nginx
.
Я использовал <Redirect />
вот так
<Switch>
<ProtectedRoute
path="/dashboard"
name="Home"
component={DefaultLayout}
/>
<ProtectedRoute
path="/"
name="Home"
component={DefaultLayout}
/>
<Redirect to="/404" />
</Switch>
тоже нравится
Где ProtectedRoute
равно
<Route
path={path}
{...rest}
render={props => {
console.log(getCurrentUser());
if (!getCurrentUser()) {
return (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
);
} else {
return Component ? <Component {...props} /> : render(props);
}
}}
/>
и другие <Redirect />
как это
<Suspense fallback={this.loading()}>
<Switch>
<Redirect from="/" to="/dashboard" />
</Switch>
</Suspense>
Последний как
if (getCurrentUser()) return <Redirect to="/dashboard" />;
Что-то не так с тем, как я его использую.
Используя netlify
я могу служить без проблем.