dva框架构架下 可能出现的几种调用dispatch后不发送请求的情况及解决办法
这里我踩了三次坑 如果你发现你的dispatch没有发送请求只想改错误请直接看最下面对照看看自己有没有写错原理分析在dva架构下 调用dispatch主要经过三个步骤下面index 代指 当前页index(当前页) => model.index(model文件夹下的配置页) => services.index(services文件夹下的配置页)其中从 index 文件夹 到 model
·
这里我踩了三次坑 如果你发现你的dispatch没有发送请求只想改错误请直接看最下面对照看看自己有没有写错
原理分析
在dva架构下 调用dispatch主要经过三个步骤
下面index 代指 当前页
index(当前页) => model.index(model文件夹下的配置页) => services.index(services文件夹下的配置页)
其中从 index 文件夹 到 model.index 文件夹的路由 由 router.js中配置
下面由一个例子引出
//index.js
dispatch({
type: "index/save",
payload: todo
)};
// model/index.js
app.model({
namespace: 'todo',
state: [],
reducers: {
add(state, { payload: todo }) {
// 保存数据到 state
return [...state, todo];
},
},
effects: {
*save({ payload: todo }, { put, call }) {
// 调用 saveTodoToServer,成功后触发 `add` action 保存到 state
yield call(saveTodoToServer, todo);
yield put({ type: 'add', payload: todo });
},
},
},
});
// services/index.js
import {request} from util/request
const saveTodoToServer = (data) => request(url,data);
//url 为具体的请求路径
- 在services/index.js 中的url出现错误,这时候既会发送请求但是为404
- 在common/router中配置modal页的路径出现了错误,因为在加载modal和page对应关系时要用到router 如果此时对应关系已经出现了错误 那么page页的dispatch就无法在modal中找到争取的页 也就无法找到正确的type。
- page中的type路径为错误路径
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)