У меня есть простой тернарный оператор, в котором я хочу вернуть null с двумя разными строками.
this.props.sportType === 'tennis' || 'soccer' ? null : <li onClick = {this.props.onClick} className = {styles.menuItem}>N/A</li>
Но это не совсем работает, к сожалению. Как я могу использовать || правильно в тернарном операторе?
Спасибо! :)
Используйте массив и посмотрите, входит ли в него sportType
:
['tennis', 'soccer'].includes(this.props.sportType)
? null
: <li onClick = {this.props.onClick} className = {styles.menuItem}>Sport</li>
(также желательно делать отступы для более длинных выражений)
Повторите сравнение со вторым значением
this.props.sportType === 'tennis' || this.props.sportType === 'soccer'
? ...
Как и в операторе IF, вам нужно сравнить строку «футбол» с
this.props.sportType === 'tennis' || this.props.sportType === 'soccer' ? null : <li onClick = {this.props.onClick} className = {styles.menuItem}>N/A</li>
Чем это отличается от ответа @ Нины?
Разницы нет, я писал в то же время, я думаю
Вы можете использовать регулярное выражение
/^tennis|soccer$/.test(this.props.sportType) ? null : <li onClick = {this.props.onClick} className = {styles.menuItem}>N/A</li>
How can I use || properly in ternary operator?
- ваша настоящая проблемаHow can I use || properly