我试图访问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>
);
}
});
答案 0 :(得分:3)
您的代码可以正常检查控制台: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
无法按预期工作?