import { createStore } from 'redux'
import { useEffect, useState } from 'react'
const initState = {
login: false
}
const reducer = (state = initState, action) => {
const newState = {...state}
switch (action.type) {
case 'login':
newState.login = action.login
return newState
default:
return state
}
}
const store = createStore(reducer)
export default function Login() {
const [login, setLogin] = useState(store.getState().login)
useEffect(() => {
// 订阅 监听store的变化
store.subscribe(() => {
setLogin(store.getState().login)
})
}, [])
return <>
{/* store.dispatch 发布一个action改变reducer */}
<button onClick={ () => store.dispatch({type: 'login', login: !login}) }>{ login ? '退出登录' : '去登录' }</button>
<p>{ login ? '登录了' : '未登录' }</p>
</>
}
redux 练习1 单个rudecer
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 用redux写个简单示例,实现二个功能!适合新手练习使用! 1.同步显示输入框。 2.响应按钮事件! 总结:看了不...
- 使用简书的第一天,想把以前七零八落的总结整合一下 此练习github地址今天下午是这个礼拜里最充实的一个下午,和杨...
- redux 入门介绍 从这节起我们开始学习 Redux,一种新型的前端“架构模式”。经常和 React.js 一并...
- react-native使用redux加上 react-navigation(1.X版本)创建的一个Demo, 不...
- demo地址: 3.第一部分(如图) 1.入口文件index.js Provider作用:将store传给组件,与...