Npm paypal 按钮:createOrder 不是函数

Npm paypal button: createOrder is not a function

从昨天开始,我一直在毫无问题地使用组件 Paypal button v2,但在我更改代码中的一个简单的不相关行后,我突然遇到了问题。撤消我所做的更改后,我仍然收到以下错误:

Error: createOrder is not a function
render/createOrderFn<
src/index.tsx:191

 188 | const createOrderFn =
 189 |     amount && !createOrder
 190 |         ? (data: any, actions: any) => this.createOrder(data, actions)
> 191 |         : (data: any, actions: any) => createOrder(data, actions);
     | ^  192 | 
 193 | return (
 194 |     <Button

我的程序或 createOrderFn 组件中没有任何 createOrder 函数,所以我不知道错误是什么意思。

有没有人经历过类似的事情?

下面是我如何渲染 paypal 组件:

return (
        <div
            style={{
                position: 'absolute', left: '50%', top: '15%',
                transform: 'translate(-50%, -15%)'
            }}
        >
            <PayPalButton
                amount={state.total}
                // shippingPreference="NO_SHIPPING" // default is "GET_FROM_FILE"
                onSuccess={(details, data) => {
                  alert("Transaction succesful.")
                  state.user.cart.linesItems = [];
                  state.user.cart.subtotal = 0;
                  console.log(JSON.stringify(state.user));
                  saveUserCart(state.user);
                }}
                options={{
                    clientId: "sb"
                }}
            />
        </div>
    );
}

如果此时 amount 出于某种原因 undefined/false,该函数调用也可能会触发。您应该添加日志记录以确定到底发生了什么。

无论如何,看起来你正在使用一个非官方的反应模块;请尝试使用新的 @paypal/react-paypal-js