1

我正在尝试访问 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>
    );
  }
});
4

1 回答 1

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没有按预期工作?

于 2015-11-06T11:43:53.603 回答