有条件的onClick来自三元组

问题描述 投票:1回答:2

我正在尝试根据用户的位置触发onClick事件。如果位置是'/ favorites'我想返回null我已经尝试使用三元运算符来实现这一点,并且找不到我的错误。继承人我试过的:

             {this.props.location==='/favorites' ? null : 
                onClick={() => {
                    this.props.updateFavsState(this.props.character);
                    this.setState(prevState => ({
                      loved: !prevState.loved
                    }));
                  }}
                }
reactjs ternary
2个回答
2
投票

将逻辑放在函数和调用函数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)}}

0
投票

你想要的是什么

onClick={this.props.location==='/favorites' ? null : 
   () => {
      this.props.updateFavsState(this.props.character);
      this.setState(prevState => ({
          loved: !prevState.loved
      }));
}}       
© www.soinside.com 2019 - 2024. All rights reserved.