Как я могу проверить с помощью react-router-dom 6.0.2 v

#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;