内容简介:我的 login这样写死了user: 1, 但是user的状态还是不变,触发login后user永远是初始状态???tasks 组件内获取到也是null, 无法通过put改变状态啊求指点!
我的 login这样写死了user: 1, 但是user的状态还是不变,触发login后user永远是初始状态???
tasks 组件内获取到也是null, 无法通过put改变状态啊
求指点!
export default {
namespace: 'app',
state: {
user: null,
locationPathname: '',
locationQuery: {},
},
subscriptions: {
setupHistory ({ dispatch, history }) {
history.listen((location) =>
dispatch({
type: 'updateState',
payload: {
locationPathname: location.pathname,
locationQuery: location.query,
},
})
)
},
setup ({ dispatch }) {
dispatch({ type: 'doLogin', payload: { } })
},
},
effects: {
* doLogin ({ payload }, { call, put, select }) {
yield put({ type: 'login', payload: {user: 1}})
let { user } = yield select(_ => _.app)
// console.log(user) null
yield put(routerRedux.push({
pathname: '/tasks',
}))
},
* loginOut ({ payload }, { call, put, select }) {
yield put({ type: 'updateState', payload: {
user: null,
}})
yield put(routerRedux.push({
pathname: '/login',
}))
},
},
reducers: {
updateState (state, { payload }) {
return {
...state,
...payload,
}
},
login (state, { payload }) {
return {
...state,
user: 1,
}
},
},
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Linux 下按照文件大小查找文件
- spring cache 实现按照*号删除缓存
- Clipboard Rule – 按照粘贴板内容操作[Windows]
- canvas绘图按照contain或者cover方式适配,并居中显示
- 按照这些优化技巧来写 SQL,连公司 DBA 也鼓掌称赞!
- NodeJS:将文件夹按照存放路径变成一个对应的JSON
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
编程语言实现模式
Terence Parr / 李袁奎、尧飘海 / 华中科技大学出版社 / 2012-3-20 / 72.00元
《编程语言实现模式》旨在传授开发语言应用(工具)的经验和理念,帮助读者构建自己的语言应用。这里的语言应用并非特指用编译器或解释器实现编程语言,而是泛指任何处理、分析、翻译输入文件的程序,比如配置文件读取器、数据读取器、模型驱动的代码生成器、源码到源码的翻译器、源码分析工具、解释器,以及诸如此类的工具。为此,作者举例讲解已有语言应用的工作机制,拆解、归纳出31种易于理解且常用的设计模式(每种都包括通......一起来看看 《编程语言实现模式》 这本书的介绍吧!