定义model:
创建一个model文件来定义程序中的数据模型,在model文件中初始状态、监听器、异步请求等等
引入model:
在入口文件(app.js/index.js)中引入定义的model文件
使用model:
在组件中使用connect方法连接model和组件(connect是二者连接的桥梁),将模型中的状态和action通过使用props属性传递给组件
触发action:
action在组件中可以通过调用props来触发action,从而改变程序中数据的状态
数据更新:
当触发action时,dva会根据reducer和effect中的逻辑来更新数据模型的状态,触发reducer会同时更新状态,然而触发effect可以进行异步操作,在异步操作完成后再触发reducer更新状态
dva的状态管理的工作流程:
1. 创建 model 文件:在 src/models 目录下创建一个 model 文件。该文件定义一个 namespace 和关于model 的状态和操作的定义
// src/models/example.js
export default {
namespace: 'example',
state: {
count: 0,
},
reducers: {
increment(state) {
return { ...state, count: state.count + 1 };
},
},
};