Vic*_*tor 5 javascript reactjs redux redux-form
我提前为格式道歉(在这方面仍然是新手),也可能为愚蠢的问题(在整个 React 生态系统中仍然是新手)表示歉意。
我最近拿起了 redux-form,从那以后我一直在尝试以下列方式使用它:
export const searchPermissions = () => {
return dispatch => {
Axios.get(`${URL}/findPermissions`)
.then(resp => {
console.log(resp.data);
dispatch({ type: PERMISSIONS_SEARCHED, payload: resp.data });
})
.catch(error => {
console.log(error);
throw new SubmissionError({
_error: "Submission error!"
});
});
};
};
Run Code Online (Sandbox Code Playgroud)
而且我不断收到未捕获的错误。
搜索 redux-form 的 github,我看到了几个类似的问题,最终通过添加 return 语句(我认为我做对了)解决了,现在我有点迷茫了。
在此先感谢您的帮助。
编辑:我试图在用户进入页面后立即获取在 3 个组合框中显示它们的权限。在用于获取数据的组件中,我有以下代码:
componentWillMount() {
this.props.searchPermissions();
}
render() {
return (
<div>
<LayoutGroupForm
onSubmit={this.props.addLayoutGroup}
loadPermissions={this.props.loadPermissions}
visualizationPermissions={this.props.visualizationPermissions}
detailPermissions={this.props.detailPermissions}
resetForm={this.props.resetForm}
/>
</div>
);
}
}
const mapStateToProps = state => ({
loadPermissions: state.layoutGroup.loadPermissions,
visualizationPermissions: state.layoutGroup.visualizationPermissions,
detailPermissions: state.layoutGroup.detailPermissions
});
const mapDispatchToProps = dispatch =>
bindActionCreators(
{
searchPermissions,
addLayoutGroup,
resetForm
},
dispatch
);
Run Code Online (Sandbox Code Playgroud)
在我的减速器上,我有以下内容:
case PERMISSIONS_SEARCHED:
return {
...state,
loadPermissions: action.payload.loadPermissions,
visualizationPermissions: action.payload.visualizationPermissions,
detailPermissions: action.payload.detailPermissions
};
Run Code Online (Sandbox Code Playgroud)
Redux Form 期望错误作为被拒绝的 Promise 中的错误出现。尝试这个:
export const searchPermissions = () => {
return dispatch => {
return Axios.get(`${URL}/findPermissions`)
// ^^^^^^-------------------------------------- Actually return the promise!
.then(resp => {
console.log(resp.data);
dispatch({ type: PERMISSIONS_SEARCHED, payload: resp.data });
})
.catch(error => {
console.log(error);
return Promise.reject(new SubmissionError({
// ^^^^^^^^^^^^^^^^^^^^^^------------------------ Return rejected promise
_error: "Submission error!"
}));
});
};
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |