2016-01-03 3 views
0

Контейнерный компонент является основным компонентом, который в свою очередь вызывает визуализацию User Component. В методе рендеринга пользователя объекты <li> имеют событие onClick.Подкомпонент реакции-js onclick не вызывается

События onClick вызывают при загрузке страницы, а затем никогда не вызывают событие click.

Контейнер = React.createClass ({

mixins: [ReactMeteorData], 

getMeteorData(){ 
    return{ 
     currentActiveUsers:ActiveUsers.find({}).fetch() 
    }; 
}, 

getCurrentActiveUsers(){ 
    return this.data.currentActiveUsers.map((user) => { 
     return <User key={user._id} user={user} /> 
    }); 
}, 

render(){ 
    return(
     <div className="container"> 
      <div className="container-fluid"> 
       <div className="row"> 
       <div className="col-xs-1 col-md-2 col-lg-3 columnBorder"> 
        <ul> 
         {this.getCurrentActiveUsers()} 
        </ul> 
       </div> 
       </div> 
      </div> 
     </div> 
     ); 
} 

}); пользователя = React.createClass ({

propTypes:{ 
    user:React.PropTypes.object.isRequired 
}, 

initiate(){ 
    console.log("initiated"); 
}, 

render(){ 
    return(
     <li onClick={this.initiate()}> 
      {this.props.user.username} 
     </li> 
    ); 
} 

});

ответ

0

Вы вызываете событие во время определения onClick. Вместо этого вам нужно связать onClick функции:

initiate(){ 
    console.log("initiated"); 
}, 

render(){ 
    return(
     <li onClick={this.initiate}> 
      {this.props.user.username} 
     </li> 
    ); 
} 

Так, просто удалите вызов функции () из this.initiate().

В противном случае вы пытаетесь связать результат console.log с номером onClick.