来自三元的条件点击
Conditional onClick from ternary
我正在尝试根据用户的位置触发 onClick 事件。
如果位置是 '/favorites' 我想 return null 我已经尝试使用三元运算符来实现这一点,但找不到我的错误。这是我尝试过的:
{this.props.location==='/favorites' ? null :
onClick={() => {
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
}));
}}
}
将逻辑放在函数中并调用函数的 onClick 事件,位置作为参数传递给函数。
解决方案:
handleClick = (location) => {
if (location === '/favorites') {
return null;
}
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
});
}
// somewhere in your render component
onClick={() => { handleClick(this.props.location)}}
你要的是
onClick={this.props.location==='/favorites' ? null :
() => {
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
}));
}}
我正在尝试根据用户的位置触发 onClick 事件。 如果位置是 '/favorites' 我想 return null 我已经尝试使用三元运算符来实现这一点,但找不到我的错误。这是我尝试过的:
{this.props.location==='/favorites' ? null :
onClick={() => {
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
}));
}}
}
将逻辑放在函数中并调用函数的 onClick 事件,位置作为参数传递给函数。
解决方案:
handleClick = (location) => {
if (location === '/favorites') {
return null;
}
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
});
}
// somewhere in your render component
onClick={() => { handleClick(this.props.location)}}
你要的是
onClick={this.props.location==='/favorites' ? null :
() => {
this.props.updateFavsState(this.props.character);
this.setState(prevState => ({
loved: !prevState.loved
}));
}}