我对React和尝试学习它很陌生,但是在后端有很强的背景(java / nodejs / php / ...)
所以首先我想创建一个登录门户,基本上是3个页面:-如果您未通过身份验证,则该页面会将您重定向到登录页面-登录页面-注册页面
功能正在运行(注册/登录/注销)我的问题在主页上,如果我首先使用user1登录,我会看到Hello user1。如果我注销并使用user2登录,我仍然会看到user1。
看来变量是由浏览器某种方式缓存的。F5刷新实际上会更新值...:/
这是我所做的:
在我的应用中,我有以下路线:
<Provider store={store}>
<HashRouter>
<Switch>
<Route path="/login" name="Login" component={Login} />
<Route path="/register" name="Register" component={Register} />
<PrivateRoute path="/" name="Home" component={Layout} />
</Switch>
</HashRouter>
</Provider>
Run Code Online (Sandbox Code Playgroud)
提供程序configureStore正在执行以下操作:
store.dispatch(requestUserInfo());
Run Code Online (Sandbox Code Playgroud)
这个requestUserInfo()是我在以下类中创建的东西:获取令牌,使用jwt对其进行解码,并呈现一些用户信息:
import jwt_decode from 'jwt-decode'
export const REQUEST_USER = "REQUEST_USER";
export const USER_INFO = "USER_INFO";
export function requestUserInfo() {
if(localStorage.usertoken){
const decoded = jwt_decode(localStorage.usertoken)
let usertest = {
"username": decoded.first_name + " " + decoded.last_name,
"picture": "assets/img/avatars/test.png",
"activity": 1
}
return dispatch => …Run Code Online (Sandbox Code Playgroud)