Reactjs - Как использовать приставку в форме оформления Stripe - PullRequest
0 голосов
/ 10 декабря 2018

Я использую полосу реакции в моем проекте.Я следовал учебному пособию https://stripe.com/docs/recipes/elements-react.

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

export default injectStripe(Form)

В документации вызов API делается следующим образом.

async submit(ev) {
  let {token} = await this.props.stripe.createToken({name: "Name"});
  let response = await fetch("/charge", {
    method: "POST",
    headers: {"Content-Type": "text/plain"},
    body: token.id
  });

  if (response.ok) console.log("Purchase Complete!")
}

Но мне нужно подключить редукс для отправки вызова api.

checkoutActions.js

import * as types from '../constants/actionTypes';
export function checkout(obj) {
  const api = types.API_URL_CHECKOUT;
  return dispatch => {
    return dispatch({
      type: types.ACTION_CHECKOUT,
      promise: client => client.post(api, obj).then((data) => {
        return data;
      }),
    });
  };
}

Итак, я изменил экспорт формы следующим образом.

export default connect(state => ({
  ...state.resp
}),{
  ...checkoutActions
})injectStripe(Form)

Но он возвращает ошибку

Ошибка синтаксического анализа: неожиданный токен, ожидаемый ";"

Есть идеи о том, как подключить реверс в форме проверки полосы?

1 Ответ

0 голосов
/ 10 декабря 2018

Вам не хватает скобки над injectStripe.

export default connect(state => ({...state.resp}),{...checkoutActions })(injectStripe(Form))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...