上级Redux-Saga教程:从零开始
最编程
2024-01-07 12:18:10
...
// 当前路径:src/LearningSaga/component/index.js
import React from 'react'
import { connect } from 'react-redux'
// 可以进行登录注销功能的页面
class Home extends React.Component {
// 1,维护可控input的用户名与密码
state = { name: 'admin', password: 'admin' }
// 2,用户名输入更新state中用户名
nameChange = e => this.setState({ name: e.target.value })
// 3,密码输入更新state中密码
passwordChange = e => this.setState({ password: e.target.value })
// 4,登出,将派发一个类型为loginOut的action
loginOut = () => this.props.dispatch({ type: 'loginOut' })
// 5,登录,将派发一个类型为login的action,同时传入参数 用户名与密码
login = () => this.props.dispatch({
type: 'login',
account: {
name: this.state.name,
password: this.state.password
}
})
render() {
return (
<div>
{/* 可控用户名input */}
<div> 用户名: <input onChange={this.nameChange} value={this.state.name} /></div>
{/* 可控密码input */}
<div>密码: <input onChange={this.passwordChange} value={this.state.password} /></div>
{/* 登录按钮 */}
<button onClick={this.login}>登录</button>
{/* 登出按钮 */}
<button onClick={this.loginOut}>登出</button>
{/* 如果登录成功,将更新redux中的loginInfo.success为true,此时就会显示 xxx 用户登录成功 */}
{/* 如果登录失败/未登录,将不显示这段文字 */}
{this.props.loginInfo.success ? <div>{this.props.loginInfo.name} 用户登录成功 </div> : null}
</div>
)
}
}
// 6,使用connect将组件连接redux的store,并将获取store中登录信息数据加入到this.props中
const mapStateToProps = state => ({ loginInfo: state.loginInfo })
export default connect(mapStateToProps)(Home)
上一篇: 分享下自己在闲鱼上购买入门乐器的经历
下一篇: 360搜索的堕落之路:Saga
推荐阅读
-
从零开始学Java》系列教程之Windos dos命令行使用详解前言
-
从零开始构建自己的人工智能:机器学习入门教程
-
保姆教程:从零开始构建 GitHub Pages 静态网站(上)
-
2019最新Python量化投资与数字货币实盘教程视频 从零开始搭建量化回测与实盘交易框架教程(视频+文档)
-
从零开始学习黑苹果 - 高级安装教程 (10.12.6)
-
教程:从零开始的超精细 yolov5 模型训练
-
.Net 桌面应用开发:Avalonia 一站式教程 - 从零开始创建至在Debian Deepin或Ubuntu 64位Linux上成功打包与部署
-
标题:【超详细教程】GPT-SoVITs从零开始训练声音克隆教程(主要以云端AutoDL部署为例)
-
从零开始到精通:Sikuli教程指南
-
详尽教程:一步步教你从零开始下载与编译Spring源代码!