我正在尝试访问YouTube Data API v3,但我在弄清楚如何在React中加载脚本时遇到了一些问题。this.init()
启动,但我得到了gapi = {}
。奇怪的是,当我在控制台中输入gapi
时,它显示为适当的对象。
TestPage = React.createClass({
componentDidMount() {
$.getScript("https://apis.google.com/js/client.js", this.handleClientLoad);
},
handleClientLoad(data, textStatus) {
Utils.logObj(data, "data");
Utils.logObj(textStatus, "textStatus");
Utils.logObj(gapi, "gapi");
Utils.logObj(window.gapi, "window.gapi");
},
render() {
return (
<div>This is the test page.</div>
);
}
});
您的代码运行良好,请检查控制台:http://jsfiddle.net/ferahl/ocpz7pbm/
var App = React.createClass({
componentDidMount() {
$.getScript("https://apis.google.com/js/client.js", this.handleClientLoad);
},
handleClientLoad() {
console.log(window.gapi);
},
render() {
return (
<div>This is the test page.</div>
);
}
});
也许您的Utils.logObj
没有按预期工作?