标签:调用 Service dva payload state example put save 联调
这个图需要好好理解: 来源于: https://www.jianshu.com/p/1ded865efc22
1. 首先完成modal层的基础
namespace: //命名空间 再调用该Modal的唯一标识
state: 参数的存储
subscriptions:订阅 用于监听
effects: 异步函数
reducer:同步函数
以下是详细注释:
export default { namespace: 'example', //表示对于整个应用不同的命名空间,以便通过this.props.example访问,和当前model文件名相同就好之前的reducer名字相同,是全局state的属性,只能为字符串,不支持.的方式建立多重 state: {initText:"hello"}, //表示当前的example中的state状态,这里可以给初始值 subscriptions: { setup({ dispatch, history }) { // 订阅,可以监听服务器连接,键盘输入,路由,状态等的变化 }, }, effects: { *fetch({ payload }, { call, put }) { //payload是从组件router传递过来的参数, //这里的call方法可以使用payload参数传递给后台程序进行处理这里可以调用service层的方法进行调用后端程序, //这里的put表示存储在当前命名空间example中,通过save方法存在当前state中 console.log('我执行了') yield put({ type: 'save' , payload:{ initText:'guojie'} }); }, }, //用来保存更新state值 上面的put方法调用这里的方法 reducers: { save(state, action) { return { ...state, ...action.payload }; }, }, };
标签:调用,Service,dva,payload,state,example,put,save,联调 来源: https://www.cnblogs.com/gjzsa/p/15825628.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。