#reactjs #react-router-dom
#реагирует на #реагировать-маршрутизатор-дом
Вопрос:
Я использовал этот код, чтобы проверить, вошел ли пользователь в систему или нет в react-router-dom 5.3.0 v, но этот код не работает со мной в 6.0.2 v, что вместо этого?
lt;Route exact path="/" render={() =gt; { return ( this.props.loading === true ? lt;Redirect to="/login" /gt; : lt;Redirect to="/home" /gt; ) }} /gt;
Ответ №1:
Абстрагируйте анонимный компонент в реальный компонент React и визуализируйте его как JSX. Помните , что Navigate
компонент заменил Redirect
, а Route
компоненты отображают свои компоненты на element
опоре.
const AuthRedirect = ({ loading }) =gt; ( lt;Navigate to={loading ? "/login" : "/home"} replace /gt; );
…
lt;Route path="/" element={lt;AuthRedirect loading={this.props.loading} /gt;} /gt;