嗨,我创建了一个使用React Hooks上传文件的表单。单击上传按钮后,文件将使用axios发送到服务器。因此,我也尝试使用try / catch块来处理可能发生的错误。发生错误时,分派功能不会设置状态。发生错误时,当前状态变为函数
以下是stackblitz上的代码链接:
https://stackblitz.com/edit/react-fe3wqk
如何解决此问题?
这是因为传递给useReducer的函数返回的是函数而不是状态对象。尝试将其重构为:
function fileStatusReducer(state, action) {
switch (action.type) {
case "UPLOADING":
return {
...state,
uploading: !state.uploading,
status: "Uploading..."
};
case "ERROR":
return {
...state,
status: action.message
};
default:
break;
}
}
您可以在此处阅读有关useReducer的更多信息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句