我想写一个reducer,初始化的时候state的值是从后台取回来的,应该如何实现?
在使用其他action的时候是直接使用的redux-thunk直接dispatch一个函数操作接口还是dispat已经存在的state?
补充一下:
我想通过从后台获取值来初始化state,如何所有对数据的操作都是基于这个state.
这是是后台取数据的db.json的格式。
{
"user": [
{
"id": 10000,
"name": "张三",
"student_id": 2018214001,
"gender": "male"
},
{
"id": 10001,
"name": "李四",
"student_id": 2018214002,
"gender": "female"
},
{
"id": 10002,
"name": "王五",
"student_id": 2018214003,
"gender": "female"
}
],
"book": [
{
"id": 10000,
"name": "JavaScript从入门到精通",
"price": 45,
"owner_id": 10000
},
{
"id": 10001,
"name": "Java从入门到放弃",
"price": 67,
"owner_id": 10001
}
]
}
我想做的是,将user和book拆分成两个render,分别管理两个state,然后在进页面的时候给router绑定onEnter事件的事件,事件里面通过store.dispatch(fn()),fn里面在去fetch请求,把返回来的值在赋值state。
不知道这样子做行不行,因为中间卡住了,不知道应该怎么讲两个state合并之后和bd.json格式一样。对redux这一块还是有点懵逼,谢谢各位大神指导~
参照这种模式异步获取数据的函数里返回一个函数,该函数接收的参数是dispatch,进入函数之后dispatch一个已有的action或者actionCreate函数,根据返回数据dispatch不同的成功或失败action