javascript – 在react redux中处理fetch错误的最佳方法是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在react redux中处理fetch错误的最佳方法是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2136字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 在react redux中处理fetch错误的最佳方法是什么?](/upload/InfoBanner/zyjiaocheng/710/d89daef7968045ac94d56bea77fa3b47.jpg)
我有一个客户端减速器,另一个适用于AppToolbar和其他一些减速器……
现在让我说我创建了一个删除客户端的提取操作,如果它失败了我在Clients reducer中有代码可以做一些事情,但我也想在AppToolbar中显示一些全局错误.
但客户端和AppToolbar缩减器不共享状态的相同部分,我无法在reducer中创建新操作.
那我怎么想显示全局错误呢?谢谢
更新1:
我忘了提到我使用este devstack
更新2:
我将Eric的答案标记为正确,但我不得不说我在este中使用的解决方案更像是Eric和Dan的答案……
你只需找到最符合代码的东西……
解决方法:
如果您想要“全局错误”的概念,您可以创建一个错误减少器,它可以侦听addError,removeError等操作.然后,您可以在state.errors中挂接到Redux状态树,并在适当的位置显示它们.
有许多方法可以解决这个问题,但一般的想法是全局错误/消息值得将自己的reducer与< Clients /> /< AppToolbar />完全分开.当然,如果这些组件中的任何一个需要访问错误,您可以在需要时将错误传递给它们作为支柱.
更新:代码示例
下面是一个示例,如果您将“全局错误”错误传递到顶级< App />并有条件地渲染它(如果存在错误).使用react-redux’s connect连接您的< App />组件到一些数据.
// App.js
// Display "global errors" when they are present
function App({errors}) {
return (
<div>
{errors &&
<UserErrors errors={errors} />
}
<AppToolbar />
<Clients />
</div>
)
}
// Hook up App to be a container (react-redux)
export default connect(
state => ({
errors: state.errors,
})
)(App);
就行动创造者而言,它会根据回应调度(redux-thunk)成功失败
export function fetchSomeResources() {
return dispatch => {
// Async action is starting...
dispatch({type: FETCH_RESOURCES});
someHttpClient.get('/resources')
// Async action succeeded...
.then(res => {
dispatch({type: FETCH_RESOURCES_SUCCESS, data: res.body});
})
// Async action failed...
.catch(err => {
// Dispatch specific "some resources failed" if needed...
dispatch({type: FETCH_RESOURCES_FAIL});
// Dispatch the generic "global errors" action
// This is what makes its way into state.errors
dispatch({type: ADD_ERROR, error: err});
});
};
}
虽然您的reducer可以简单地管理一系列错误,但可以适当地添加/删除条目.
function errors(state = [], action) {
switch (action.type) {
case ADD_ERROR:
return state.concat([action.error]);
case REMOVE_ERROR:
return state.filter((error, i) => i !== action.index);
default:
return state;
}
}
内容总结
以上是互联网集市为您收集整理的javascript – 在react redux中处理fetch错误的最佳方法是什么?全部内容,希望文章能够帮你解决javascript – 在react redux中处理fetch错误的最佳方法是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。