配列 ob オブジェクトでアクションを呼び出そうとしています。アクションは、前のアクションの onSuccess メソッドで呼び出されます。単一のオブジェクトでアクションを呼び出すと、すべてを適切に実行できますが、forEach または for ループで呼び出すと実行されません。
これは私の輸入品です
import {createClient} from "../../store/actions/clients/clients.actions";
import {createNewContact} from "../../store/actions/contact-list/contact-list.actions";
これは私の接続デコレータです
@connect(
state => ({avatarURL: state.avatar.URL}),
dispatch => bindActionCreators({modalVisibility, updateAvatarURL, createClient, createNewContact}, dispatch)
)
これは私の2つのアクションが呼び出されることです
this.props.createClient({
newClientData, onSuccess: (newClientData) => {
for (let contact of values.contacts) {
contact.clientId = newClientData.id;
this.props.createNewContact(contact);
}
this.props.modalVisibility(false);
}
});
これが私の行動です
export const createNewContact = (params) => {
debugger
return dispatch => {
let user = {
email: params.email,
name: params.firstName,
surname: params.lastName,
password: params.password,
clientId: params.clientId
};
let onSuccess = () => {
dispatch({
type: actions.CREATE_CLIENT_SUCCESS,
payload: {...params.newClientData}
});
if (params.onSuccess) params.onSuccess({...params.newClientData});
};
let onFailure = () => {
dispatch({
type: actions.CREATE_CLIENT_FAILURE,
payload: error
});
if (params.onFailure) params.onFailure(error);
};
awsServices.createUserInTheGroup({...user, group: config.groups.clients}, onSuccess, onFailure);
};
};
前もって感謝します!