【发布时间】:2020-10-02 07:17:00
【问题描述】:
没有 react-paypal-button-v2 ~~~有 60KB 的开销
类似的问题 here 但他们建议 react-paypal-button-v2
我正在尝试制作一个 React PayPal 按钮,用于更改道具的账单金额。
我用道具价格调用以下组件,每次价格变化时我都想重新渲染按钮以更新实际价格。 没有 react-paypal-button-v2
const PaypalForm = props => {
let paypalRef = useRef();
useEffect(() => {
window.paypal
.Buttons({
createOrder: (data, actions) => {
return actions.order.create({
purchase_units: [
{
description: "test",
amount: {
currency_code: "USD",
value: props.price
}
}
]
});
},
onApprove: async (data, actions) => {
const order = await actions.order.capture();
console.log(order);
},
onError: err => {
setError(err);
console.error(err);
}
})
.render(paypalRef.current);
}, [props.price]);
return (
<Row className="justify-content-center">
{error && <div>Uh oh, an error occurred! {error.message}</div>}
<div ref={paypalRef} />
</Row>
);
};
除了在每次道具更改时创建一个新按钮并将其添加到旧按钮的底部之外,一切正常。我想用我的新按钮替换旧按钮。 不使用 react-paypal-button-v2
【问题讨论】:
标签: reactjs paypal paypal-sandbox paypal-rest-sdk