0

配列 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);

  };
};

前もって感謝します!

4

0 に答える 0