我面临一个常见错误。当我向表列中添加新用户时,我要尝试传递的电子邮件列表和其他值。我可以成功添加一个用户,但是我正在尝试使用刚刚添加的新用户重置我的redux状态。
我的对象内部包含以下值。
我试图将用户添加到我的表格列中,但是当我单击添加用户提交按钮时,出现以下错误。
的输出
console.log(this.props.isFetchingUsers,providerAccount.id);
TypeError:无法读取未定义的属性“ map”
我只是想如果用户单击按钮,它将用户添加到redux状态。它现在在刷新窗口时有效,并且仅在刷新时自动添加,因此我假设我必须对我的减速器做些事情。
组件js文件
const fetchUsers = this.props.isFetchingUsers[providerAccount.id];
const fetchEmails = fetchUsers.map(values => {
return values.user.emailAddress;
});
const fetchUsersDetails = fetchUsers.map(values => {
return {
accessLevel: values.accessLevel,
emailAddress: values.user.emailAddress,
userName: values.user.userName
};
});
调度(相同文件)
const mapDispatchToProps = dispatch => ({
getUsersForMyProviderAccount: () => dispatch(getUsersForMyProviderAccount())
});
const WrappedUsersList = Form.create()(UsersList);
export default connect(
mapStateToProps,
mapDispatchToProps
)(WrappedUsersList);
动作JS文件
export function addUserAccessToMyProviderAccountSuccess(params) {
return {
type: ADD_USER_ACCESS_TO_MY_PROVIDER_ACCOUNT_SUCCESS,
params
};
}
Reducers JS文件
case UPDATE_USER_ACCESS_TO_MY_PROVIDER_ACCOUNT_SUCCESS:
case ADD_USER_ACCESS_TO_MY_PROVIDER_ACCOUNT_SUCCESS: {
const { payload = [], usersForProviderAccounts = {} } = params;
console.log(payload);
return {
...store,
isFetching: false,
usersForProviderAccounts
};
}