通过接口异步请求数据 返回的数据内容是用户操作成功与否 比如这样
const {data} = {
result: 1000,
message: 'success',
};
请问如何监听返回结果 再通过message.success(...)做全局消息?
const {data} = {
result: 1000,
message: 'success',
};
没理解这句是什么意思。在 effect 中拿到结果后,调 message.success 不就好了吗?
示例如下: 管理员修改个人信息
const { data } = yield call(modifyAdminInfo, payload);
if(data){
yield put({
type: 'querySuccess',
payload: {
result: data
}
});
}
effect得到数据后 如何在Component AdminInfo中监听result的变化 然后调用message.success或者message.error?
为啥要在 AdminInfo 里监听 result 的变化,不能在 effect 里做?
我想的是effect的作用仅仅只是put/call reduce 对于数据的渲染和交互(如message)我认为应该放到Component中 不知道我这样的理解对不对...
这个问题在详细一点: 用户点击修改信息后 调用message.load(...) 数据响应后应该在什么位置调用message.success(...) 就酱紫
这个和我之前的疑问是类似的,命令调用型的 API 使用方式。
抱歉我不是很明白你的意思... 有没有实例可以让我参考一下?
我的意思是我也有同样的疑问。
message 方法应该放在 effect 里,这是触发一个 action 之后要做的事。
如何做全局的loading显示呢?我不想再每个effect里都去写一个message.load,最好能在一个地方统一处理,就像dva-loading做了全局的loading一样,我怎么样在loading的时候显示一条message.loading信息,等结果回来的时候,关闭这个loading信息呢?
@anhuiliujun 使用 dva-loading,然后封装一个 react 组件,监听 loading state,执行 message.load 等方法。
@sorrycc 感谢赐教,我在所有组件的最上层包一层组件,做全局的处理,这样应该可以吧
也可以的。
Most helpful comment
@anhuiliujun 使用 dva-loading,然后封装一个 react 组件,监听 loading state,执行 message.load 等方法。