reactjs - Npm paypal 按钮:createOrder 不是函数
问题描述
从昨天开始,我一直在毫无问题地使用组件 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
如果此时由于某种原因未定义/为假,该函数调用也可能触发。您应该添加日志记录以确定究竟发生了什么。
无论如何,看起来您正在使用非官方的反应模块;尝试使用新的@paypal/react-paypal-js。
推荐阅读
- machine-learning - Sklearn k-means聚类(加权),确定每个特征的最佳样本权重?
- r - R:使用magick在1个面板中显示4个png图像
- jenkins - 从快照恢复磁盘后 Jenkins 无法启动
- jquery - jQuery slideDown 唯一被点击的部分
- numpy - 在pytorch中将索引选择的张量添加到另一个具有重叠索引的张量
- ruby - 使用 ruby sdk 将字符串添加到 DynamoDB 字符串集
- c++ - 为什么我不能使用两个 .h 文件?
- javascript - 使用 javascript/jquery 修改车把模板
- docker - ZFS 上的 ddev:服务“db”构建失败:复制文件失败:复制文件范围失败:参数无效
- c# - 如何使用 linq 查询进行多个过滤