React-Router повторно отображает неправильный компонент

React-Router повторно отображает неправильный компонент

Я установил, что маршруты не работают правильно. Они могут перейти к компоненту и упомянуть правильный маршрут, но когда я пишу URL-адрес вручную, он заканчивается повторным рендерингом на домашнюю страницу или localhost: 3001 / login. Ты хоть представляешь, почему это происходит? введите описание изображения здесь

Добавьте соответствующий код и конфигурацию маршрутизатора.

Shubham Khatri 21.11.2018 11:32

Во втором случае if (tihs.props.isAuth) у вас есть два одинаковых пути "/" и разные компоненты. Но я не думаю, что это проблема.

Tazo leladze 21.11.2018 11:35
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
1
2
410
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы определили один и тот же маршрут к двум разным компонентам, возможно, в этом проблема.

<Route exact path = "/" component = {Charges} />
<Route exact path = "/" component = {Account} />

Кстати, это не идеальный способ авторизации маршрутов. Попробуйте что-то вроде этого

<Route  path = "/account" render = {() => (isAuth() ? (<Redirect to = "/login"/>) : (<Account />))}/> 

Где isAuth () - это функция, которая возвращает логическое значение

isAuth() => {this.props.isAuth};

Это отобразит компонент Account, если isAuth () вернет true, иначе он будет перенаправлен на вход.

и похоже, что у вас есть <Redirect to = "/login"/>, который должен вызывать ошибку.

Все еще не работает так, как должно быть, и у меня такая же проблема

Ashraf Uthman 21.11.2018 12:46

@AshrafUthman Я не совсем понимаю, о чем вы здесь говорите. Я надеюсь, что вы будете перенаправлены на / login при попытке навигации вручную. Я надеюсь, что главная страница, о которой вы здесь говорите, - это / login. Пожалуйста, поделитесь своим кодом, не публикуйте изображения своего кода.

TRomesh 22.11.2018 12:24

Другие вопросы по теме