【问题标题】:How to use stripe library on tsx files. Getting error如何在 tsx 文件上使用条带库。得到错误
【发布时间】:2020-12-17 01:53:18
【问题描述】:

我有一个正在进行反应的项目,但文件不是 .js,而是 .tsx,我正在尝试使用条带库,但一直出错。

我尝试了几个不同的库来帮助设置条带,但我一直卡在这个错误上。

请帮助或指导我更正帮助我设置条带的库。

我的代码是

import ReactDOM from "react-dom";
import StripeCheckout from 'react-stripe-checkout';
import axios from "axios";


function handleToken(token, addresses) {
    console.log(token, addresses);
  }

export default function Webinar() {

  return (
    <div className="container">

       <StripeCheckout stripeKey = "mykey"
            token={handleToken}
            name="Tesla Roadster"
            billingAddress
            shippingAddress
            />

    </div>
  );
}

【问题讨论】:

    标签: reactjs stripe-payments tsx


    【解决方案1】:

    问题是您的 Typescript 存储库现在启用了 strict 模式,这会强制您指定类型。如果你想让它保持沉默,你可以简单地在tsconfig.json中切换到false

    {
      "compilerOptions": {
        "strict": false,
        // ...
      }
    }
    
    

    将您的函数handleToken 更改为与您的组件道具具有相同类型的变量,如下所示:

    const handleToken: StripeCheckout['props']['token'] = (token) => {
      // You can receive hint from token type here
    }
    

    【讨论】:

    • 伙计,你是救命恩人 :-)
    • 哈哈 :) 很高兴听到它有帮助
    • 现在我被困在下一个我得到这个
    • 没有重载匹配这个调用。 Overload 1 of 2, '(props: Readonly): StripeCheckout',给出了以下错误。类型“(令牌:任意,地址:任意)=>布尔”不可分配给类型“(令牌:令牌)=>无效”。 Overload 2 of 2, '(props: StripeCheckoutProps, context?: any): StripeCheckout',给出了以下错误。类型“(令牌:任意,地址:任意)=>布尔”不可分配给类型“(令牌:令牌)=>无效”。
    • 看起来 token 属性是一个函数,它只接受一个名为 Token 的参数。我会给你另一个提示,这样你就不必直接指定令牌参数。
    猜你喜欢
    • 2018-01-12
    • 2018-11-07
    • 1970-01-01
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-19
    • 2020-01-10
    相关资源
    最近更新 更多