前言
接下来几章将带大家实现实现用户登录。这里要求大家必须掌握redux与react-redux,否则你将看到云里雾里,考虑到部分人可能没有学习过React、redux与react-redux,这里建议这部分人先别往下,前去bilibili学习下React相关知识:尚硅谷2021版React技术全家桶全套完整版(零基础入门到精通/男神天禹老师亲授),学完再继续。
代码编写
创建一个user-state的reducer,在src->reducers文件夹下新建user-state.js,代码如下:
//初始化字符串的
import keyMirror from 'keymirror'
//定义用户登录状态
const UserState = keyMirror({
//未登录状态
NOT_LOGINED: null,
//已登录状态
LOGINED: null
})
const UserStateOB = Object.keys(UserState)
//初始化用户状态
const initState = {
error: null,
userData: null,
loginState: UserState.NOT_LOGINED
}
//获取用户登录状态
const getLoginState = loginState => loginState === UserState.LOGINED
//定义一个reducer
const reducer = function(state=initState, action) {
//暂时未实现任何操作,返回state就行
return state
}
//将所写的全部暴露出去
export {
reducer as default,
initState as userStateInitState,
UserState,
UserStateOB,
getLoginState
}
reducers/gui.js作为这个项目所有信息初始化的地方,因此我们定义的user-state也要在此做初始化,这里省略已有的项目代码,用…表示
//引入刚才暴露的reducer与初始化方法
<

本文介绍了如何使用Redux和React Redux实现用户登录状态的切换。首先,创建了一个user-state reducer来定义登录状态,并在reducers/gui.js中初始化。接着,在container/gui.jsx中通过mapStateToProps将登录状态传给UI组件。在components/gui/gui.jsx和menu-bar.jsx中更新UI以显示登录/注销按钮。最后,创建了一个自定义的LoginButton组件,并在menu-bar中替换原有的登录按钮。文章还预告了下一步将讲解国际化相关内容。
最低0.47元/天 解锁文章
6470

被折叠的 条评论
为什么被折叠?



