在React应用程序中未触发按钮onClick事件

时间:2015-02-23 21:49:20

标签: javascript node.js reactjs browserify

我有以下应用程序代码:

'use strict';

//function to handle gapi initialization
var init = function() {
   //load plus api
  gapi.client.load('plus' , 'v1' , function() {
    gapi.isReady = true;
  });
}

window.init = init;

var React = require('React'),
    aapi = require('./components/alonso-api'),
    BlogList = require('./components/blog-list'),
    ActivityBox = require('./components/activity-box'),
    GoogleSignin = require('./components/google-signin');    

if (!window.React) {
  window.React = React;
}

React.render(<BlogList data={aapi.blogs.read()} /> , document.getElementById('blog-list'));

React.render(<ActivityBox data={aapi.blogs.read({
  offset : 0,
  limit : 3
})} /> , document.getElementById('activity-box'));

React.render(<GoogleSignin clientId='client-id' scope='https://www.googleapis.com/auth/userinfo.email'/> , document.getElementById('google-signin'));

正确显示所有React元素,但未触发GoogleSignin的{​​{1}}事件。以下是onClick定义:

GoogleSignin

我在没有Browserify的情况下运行相同的代码并且正在正确处理var React = require('react'), window = window || {}, gapi = window.gapi || {}; var GoogleSignin = React.createClass({ handleClick : function(e) { console.log('click!'); }, render : function() { return ( <div className="googleSignin"> <button className="btn btn-default" onClick={this.handleClick}><i className="fa fa-google-plus"></i> Sign in</button> </div> ); } }); module.exports = GoogleSignin; 处理程序,所以我不确定我错过了什么。

0 个答案:

没有答案