#reactjs #react-router #react-functional-component
Вопрос:
У меня есть страница входа в систему, на которую я хочу, чтобы браузер перенаправлял ее по умолчанию. Код, который у меня есть, делает это для первого запуска (перенаправлен на http://localhost:3000/login) но после того, как я перехожу на другую страницу и нажимаю «Обновить», он не перенаправляется обратно на страницу входа, а остается на последнем URL-адресе, на котором он был. Что я делаю не так?
return (
<div>
<h1>Movies - Subscriptions Web Site</h1>
<br />
<Link to="/movies" style={{ textDecoration: "none" }}>
<input type="button" value="Movies" />{" "}
</Link>
<Link to="/subscriptions" style={{ textDecoration: "none" }}>
<input type="button" value="Subscriptions" />{" "}
</Link>
<Link to="/userManagement" style={{ textDecoration: "none" }}>
<input type="button" value="User Management" />{" "}
</Link>
<input type="button" value="Log Out" />
<Switch>
<Route exact path="/">
<Redirect to="/login" />
</Route>
<Route path="/login" component={LoginComp} />
<Route path="/movies" component={MoviesComp} />
<Route path="/subscriptions" component={SubscriptionsComp} />
<Route path="/userManagement" component={ManageUsersComp} />
</Switch>
</div>
);
Ответ №1:
Удалите точный и маршрутный тег и напрямую напишите
<Redirect path="/" to="/login" />
Комментарии:
1. Я написал <Перенаправление> перед <Перенаправлением><Переключателем>, и только это сработало. На самом деле в этом есть большой смысл 🙂 Спасибо!
Ответ №2:
Удалить exact
свойство и route
тег
<Redirect to="/login" />
Комментарии:
1. Я написал <Перенаправление> перед <Перенаправлением><Переключателем>, и только это сработало. На самом деле в этом есть большой смысл 🙂 Спасибо!