Javascript 反应:图标不传递onClick的道具

Javascript 反应:图标不传递onClick的道具,javascript,reactjs,onclick,font-awesome,Javascript,Reactjs,Onclick,Font Awesome,我有一个react web应用程序,我已经安装并导入了Fontsome图标库 调用onClick时,我无法从对象获取道具 看起来,当我点击图标时,我正在触发我的反应按钮,道具正在顺利传递。如果我直接点击图标,onClick会被触发,但是道具不会被传递 <button key={item.title} value={item.title} onClick={this.updateFavourites}> <FontAwesomeIcon size="3x" icon="sta

我有一个react web应用程序,我已经安装并导入了Fontsome图标库

调用onClick时,我无法从对象获取道具

看起来,当我点击图标时,我正在触发我的反应按钮,道具正在顺利传递。如果我直接点击图标,onClick会被触发,但是道具不会被传递

<button  key={item.title} value={item.title} onClick={this.updateFavourites}>
<FontAwesomeIcon size="3x" icon="star" />                                
</button>


updateFavourites = event => {

    console.log("IN UPDATE FAVOURITES" + event.target.value);
    this.setState({
        selectedFavourite: event.target.value    
      });


      if (this.state.favourites.includes(event.target.value)){
        // Find and remove item from an array
        var i = this.state.favourites.indexOf(event.target.value);
        if(i !== -1) {
            this.state.favourites.splice(i, 1);
        }  
      }
      else{
        this.state.favourites.push(event.target.value);   
      }
}

updateFavourites=事件=>{
log(“在更新收藏夹中”+event.target.value);
这是我的国家({
SelectedFavorite:event.target.value
});
if(this.state.favorites.includes(event.target.value)){
//从数组中查找并删除项
var i=this.state.favorites.indexOf(event.target.value);
如果(i!==-1){
此.状态.收藏夹.拼接(i,1);
}  
}
否则{
this.state.favorites.push(event.target.value);
}
}
我做错了什么?我已经阅读了我能找到的每一篇与这个问题相关的帖子


感谢您的帮助,因为
没有任何值。请记住,您正在使用
updateFavourites
方法中的event.target.value,当您直接单击该图标时,该图标将成为“目标”。

因为
没有任何值。请记住,您使用的是
updateFavourites
方法中的event.target.value,当您直接单击该图标时,该图标将成为“目标”。

我通过将值作为参数传递给updateFavourites函数来解决问题,而不是试图通过道具从对象获取值

变化如下

updateFavourites函数:

 updateFavourites = event => {

    console.log("IN UPDATE FAVOURITES" + event);
    this.setState({
        selectedFavourite: event 
      });


      if (this.state.favourites.includes(event)){
        // Find and remove item from an array
        var i = this.state.favourites.indexOf(event);
        if(i !== -1) {
            this.state.favourites.splice(i, 1);
        }  
      }
      else{
        this.state.favourites.push(event);   
      }
}
按钮/图标:

 <button  key={item.title} value={item.title} onClick={() => this.updateFavourites(item.title)}>
 <FontAwesomeIcon size="3x" icon="star" />                                
 </button>
this.updateFavourites(item.title)}>

我通过将值作为参数传递给updateFavourites函数,而不是试图通过props从对象获取值,从而解决了我的问题

变化如下

updateFavourites函数:

 updateFavourites = event => {

    console.log("IN UPDATE FAVOURITES" + event);
    this.setState({
        selectedFavourite: event 
      });


      if (this.state.favourites.includes(event)){
        // Find and remove item from an array
        var i = this.state.favourites.indexOf(event);
        if(i !== -1) {
            this.state.favourites.splice(i, 1);
        }  
      }
      else{
        this.state.favourites.push(event);   
      }
}
按钮/图标:

 <button  key={item.title} value={item.title} onClick={() => this.updateFavourites(item.title)}>
 <FontAwesomeIcon size="3x" icon="star" />                                
 </button>
this.updateFavourites(item.title)}>

谢谢您的评论。我现在了解到,我试图从图标获取道具,而图标的道具与按钮不同。如果这对您有帮助,请接受我的回答。谢谢。:)谢谢你的评论。我现在了解到,我试图从图标获取道具,而图标的道具与按钮不同。如果这对您有帮助,请接受我的回答。谢谢。:)