在 React 中捕获异步 axios 调用的响应
2020-04-18
74
async saveForm(data) {
return await axios({
method: "post",
url: FORM_PORTAL_CONTROLLER_URL + 'savemoratorium',
body: JSON.stringify(data)
}).then(res =>
this.setState({ refNo: res.data.reference }))
}
我无法设置从请求中获取的状态,它给出了以下错误。Post 请求执行完美。我想捕获响应并更改状态。函数位于组件内部。以下错误出现在页面控制台中,之后我得到了一个白页。
react_devtools_backend.js:6 TypeError:无法读取未定义的属性“长度” react-dom.production.min.js:152 未捕获(在承诺中)TypeError:无法读取未定义的属性“长度”
2个回答
渲染前添加验证
// Sample 1
if(Array.isArray(refNo) && refNo.length){
//your code
}
//Sample 2
{Array.isArray(refNo) && refNo.length? customRenderFunction(): null}
Lucas Matos
2020-04-18
我找到了这种情况的根本原因。这是因为我与 Material UI 节点模块发生了冲突。(makeEffect、useEffect)
Malinda Peiris
2020-04-20