Javascript 反应:图标不传递onClick的道具
我有一个react web应用程序,我已经安装并导入了Fontsome图标库 调用onClick时,我无法从对象获取道具 看起来,当我点击图标时,我正在触发我的反应按钮,道具正在顺利传递。如果我直接点击图标,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
<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)}>
谢谢您的评论。我现在了解到,我试图从图标获取道具,而图标的道具与按钮不同。如果这对您有帮助,请接受我的回答。谢谢。:)谢谢你的评论。我现在了解到,我试图从图标获取道具,而图标的道具与按钮不同。如果这对您有帮助,请接受我的回答。谢谢。:)