在React Component中加载Google脚本

时间:2015-11-06 10:22:10

标签: meteor reactjs youtube-api youtube-data-api meteor-react

我试图访问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>
    );
  }
});

1 个答案:

答案 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无法按预期工作?