Как работает Redux, я прохожу кодовую базу и не понимаю, как работает функция из другой функции. - PullRequest
1 голос
/ 24 октября 2019

Как вы можете видеть в моем коде, когда я вызываю функцию удаления карты, она возвращает функцию отправки, тогда как вызывается или работает удаление карты в этом случае, заранее спасибо

 export function deleteCard(data, callback) {
      return dispatch => {
        dispatch({type: DELETE_PAYMENT_CARD_REQUEST})
        return removeCard(data).then(res => {
          console.log("Remove card success.........", res);
          dispatch({type: DELETE_PAYMENT_CARD_SUCCESS, payload: res})
          if (callback) {
            callback({status: true, data: res})
          }
        }).catch(err => {
          dispatch({type: DELETE_PAYMENT_CARD_FAILURE, payload: err})
          if (callback) {
            callback({status: false, data: err})
          }
        });
      };
    }

1 Ответ

0 голосов
/ 24 октября 2019

Это не так сложно. Вам нужно сделать что-то вроде этого:

import store from 'store';

// Here we get this nested function which can be used later.
// Let's initialize it with the payment card data and the callback function.

const deleteCardResolver = deleteCard(
  { /*...your payment card data...*/ },
  (result) => {
    // This is the callback function that is called when success or failure occurs.
    // You can do something with result object. It has `status` and `data` fields as seen in question
  }
);
// Then you must get dispatch function from somewhere and pass it to deleteCardResolver.
// In this case we're going to use dispatcher from the store object.
// But, for example, you can also use `this.props.dispatch` if everything happens in a React component.

deleteCardResolver(store.dispatch);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...