Ошибка: отправка не является функцией, соединяющей injectStripe и mapDispatchToProps - PullRequest
2 голосов
/ 23 апреля 2019

У меня проблемы с подключением mapStateToProps, поэтому действие вызывается соответствующим образом:

const mapDispatchToProps = (dispatch) => {
  return {
    createPayment: (token, email) => dispatch(createPaymentForToken(token, email)),
  };
};

const injectedCheckoutForm = injectStripe(CheckoutForm);
export default connect(mapDispatchToProps)(injectedCheckoutForm);

Когда я вызываю this.props.createPayment(token, email), я получаю следующую ошибку:

index.js: 130 Uncaught (в обещании) TypeError: dispatch не является функцией

Edit: Кажется, что вызывается мое действие, но не моя сага, слушающаяCREATE_PAYMENT действие

1 Ответ

2 голосов
/ 23 апреля 2019

Первый параметр для connect равен mapStateToProps, второй - mapDispatchToProps.Вместо этого попробуйте connect(null, mapDispatchToProps).

const mapDispatchToProps = (dispatch) => {
  return {
    createPayment: (token, email) => dispatch(createPaymentForToken(token, email)),
  };
};

const injectedCheckoutForm = injectStripe(CheckoutForm);
export default connect(null, mapDispatchToProps)(injectedCheckoutForm);
...