React Redux 动作(函数中的函数)
React Redux action (function within function)
我是 react-redux 的新手,我在这个问题上苦苦挣扎。我的 action creator 中有这些功能。
function register(user) {
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
}
这就是我尝试发送它的方式。
const mapDispatchToProps = dispatch => {
return {
sendRegistration: (user) => {
dispatch(userActions.register(user).request(user))
}
}
}
当用户点击提交按钮时,调度发生如下:
this.props.sendRegistration(this.state.user)
但是我得到以下错误。
Uncaught TypeError: Cannot read property 'request' of undefined
您应该在 register
函数中返回它们,就像这样
function register(user) {
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
return {
request : request,
success : success,
failure : failure
}
}
但是通常不需要将它们包装在函数中。您可以导出和导入它们,例如
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
export {request, success, failure}
我是 react-redux 的新手,我在这个问题上苦苦挣扎。我的 action creator 中有这些功能。
function register(user) {
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
}
这就是我尝试发送它的方式。
const mapDispatchToProps = dispatch => {
return {
sendRegistration: (user) => {
dispatch(userActions.register(user).request(user))
}
}
}
当用户点击提交按钮时,调度发生如下:
this.props.sendRegistration(this.state.user)
但是我得到以下错误。
Uncaught TypeError: Cannot read property 'request' of undefined
您应该在 register
函数中返回它们,就像这样
function register(user) {
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
return {
request : request,
success : success,
failure : failure
}
}
但是通常不需要将它们包装在函数中。您可以导出和导入它们,例如
function request(user) { return { type: userConstants.REGISTER_REQUEST, user } }
function success(user) { return { type: userConstants.REGISTER_SUCCESS, user } }
function failure(error) { return { type: userConstants.REGISTER_FAILURE, error } }
export {request, success, failure}