【发布时间】:2021-08-24 20:35:21
【问题描述】:
我想开发一个 PayPal 按钮,按照 API 文档,我有以下代码:
import React, {useState}from 'react';
import {useDispatch} from 'react-redux';
import {useHistory} from 'react-router-dom';
import ReactDOM from 'react-dom';
import * as actionsReservations from '../../reservation/actions';
import {Errors} from '..';
const PayPalButton = paypal.Buttons.driver("react", { React, ReactDOM });
const PayPalReserve = ({deposit, menu, companyId, reservationDate, periodType, diners}) => {
const dispatch = useDispatch();
const history = useHistory();
const [backendErrors, setBackendErrors] = useState(null);
const createOrder = (data,actions) => {
return actions.order.create({
purchase_units:[
{
amount:{
value: deposit
},
},
],
});
};
const onApprove = (data, actions) => {
return actions.order.capture().then(response => {
dispatch(actionsReservations.reservation(
menu.id,
companyId,
reservationDate,
periodType,
diners,
response.id,
() => history.push('/reservation/reservation-completed'),
errors => setBackendErrors(errors)
));
console.log(response);
});
}
};
export default PayPalReserve;
但是给我抛出以下错误:
Line 9:22: 'paypal' is not defined no-undef
但如果我从paypal-checkout 导入paypal 使用这一行:
import paypal from 'paypal-checkout';
React 抛出以下错误:
"TypeError: paypal_checkout__WEBPACK_IMPORTED_MODULE_4___default.a.Buttons is undefined"
我的 index.html 我在 head 标签中有这个:
<script defer src="https://www.paypal.com/sdk/js?client-id=MY_CLIENT_CODE"></script>
当我不导入 paypal-checkout 或导入它时,我不知道为什么会抛出这些错误。如果你知道如何解决它,我将不胜感激
谢谢。
【问题讨论】: