在React Store中访问外部Javascript库

时间:2018-08-01 00:16:33

标签: javascript reactjs

我有一个React应用,其组件由Store.ts文件控制。

在堆栈溢出的其他线程中,我遵循了一些步骤。我已经像这样在我的index.html中加入了脚本标签:

<script type="text/javascript" src="https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js"></script>

然后,如here所述,在我的商店中,在使用其中一个功能之前,我将库声明为window的一部分,如下所示:

declare global {
  interface Window { PagSeguroDirectPayment: any; }
}

window.PagSeguroDirectPayment = window.PagSeguroDirectPayment || {};

window.PagSeguroDirectPayment.setSessionId('620f99e348c24f07877c927b353e49d3');

但是,当我运行该应用程序时,出现错误window.PagSeguroDirectPayment.setSessionId is not a function。而且,当我直接在index.html中调用该函数时,它似乎可以正常工作。

我是在错误的位置或以错误的方式声明吗? 感谢您的帮助。预先感谢

1 个答案:

答案 0 :(得分:0)

解决方案是使用带有窗口前缀的全局声明的元素。

例如:window.PagSeguroDirectPayment

注意: 但没有类似的指示:

window.PagSeguroDirectPayment = window.PagSeguroDirectPayment || {} 

因为window.PagSeguroDirectPayment功能是必需的。

也许有帮助。