我有一个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
中调用该函数时,它似乎可以正常工作。
我是在错误的位置或以错误的方式声明吗? 感谢您的帮助。预先感谢
答案 0 :(得分:0)
解决方案是使用带有窗口前缀的全局声明的元素。
例如:window.PagSeguroDirectPayment
注意: 但没有类似的指示:
window.PagSeguroDirectPayment = window.PagSeguroDirectPayment || {}
因为window.PagSeguroDirectPayment
功能是必需的。
也许有帮助。