#javascript #reactjs #react-router-dom
Вопрос:
Я хочу реализовать функцию входа в систему в своем приложении react. Итак, какой из них лучше использовать history.replace()
или <Redirect />
с точки зрения производительности.
Правка 1 :
Предположим, у меня есть два приведенных ниже компа.
const Comp1 =() => {
// statement A
// statement B
// statement C
return(
<Redirect /> //to login
//more content
)
}
Комп2
const Comp2 =() => {
history.replace() //to login
// statement A
// statement B
// statement C
return(
<div>Content</div>
)
}
Какой из двух более рекомендуется использовать ? Как будет протекать программа ?
Комментарии:
1. Я не думаю, что вам пока следует беспокоиться о производительности… Более важное различие здесь заключается в следующем:
history.replace()
является императивным способом навигации, в то время<Redirect />
как является декларативным .
Ответ №1:
Надеюсь, с тобой все в порядке. В вашем коде есть два разных подхода.
- Метод перенаправления: вы можете перенаправить другую страницу.но проблема в том, что вы не получаете историю.значение предыдущего состояния. когда пользователь нажимает на кнопку «Назад» браузера.
- история.замена: Он также используется для загрузки другой страницы. Он сохраняет значение истории.предыдущего состояния. когда пользователь нажимает на кнопку «Назад» браузера. Он вернулся на предыдущую страницу.
Итак, это зависит от ваших требований. Я надеюсь, что это решение вам поможет. дайте мне знать, если вы не понимаете.