gpt4 book ai didi

reactjs - 如何从react-router获取当前位置?

转载 作者:行者123 更新时间:2023-12-03 13:32:22 25 4
gpt4 key购买 nike

我正在尝试从其状态驱动我的应用程序的导航。这是我的用例:

Given the user is on the Login page
When the application state changes to isLoggedIn
Then the application should navigate to the Dashboard page

这是我当前有效的实现:

if (browserHistory.getCurrentLocation().pathname === '/login' && store.isLoggedIn) {
browserHistory.push('/dashboard');
}

不幸的是,通过查看react-router文档和问题,我了解到browserHistory.getCurrentLocation()不是官方API,不应该使用它。有推荐的方法吗?

附注此代码在 React 组件外部运行,因此我无法使用 this.props.location.pathname

最佳答案

export const onAuthChange = (isAuthenticated) => {
const pathname = browserHistory.getCurrentLocation().pathname;
const isUnauthenticatedPage = unauthenticatedPages.includes(pathname);
const isAuthenticatedPage = authenticatedPages.includes(pathname);

if (isUnauthenticatedPage && isAuthenticated) {
browserHistory.replace('/Dashboard');
} else if (isAuthenticatedPage && !isAuthenticated) {
browserHistory.replace('/');
}

};

关于reactjs - 如何从react-router获取当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40512347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com