Я пытаюсь установить несколько условий с помощью тернарного оператора для стилизации элемента с использованием модулей Css. Я не могу найти точный синтаксис. это вообще возможно? есть некоторые поля, которые имеют 3 размера: по умолчанию маленький размер, большой размер для того, который наведен, и средний размер, когда хотя бы один из них наведен.
import style from './styles.module.sass'
const Slider =()=>{
const [hover,isHovered]=useState(false);
const [anyCardHovered,setAnyCardHovered]=useState(false)
return
<div className = {`{ hover? ${style.hoveredBox}: anyCardHovered? ${style.smallBox}: style.box}`>
</div>






Я бы, вероятно, создал переменную с именем классы и установил ее значение и логику над вашим оператором возврата JSX. Затем вы можете просто установить classname = {classes} в своих полях.
let classes = 'small';
if (hover) {
classes = 'big'
} else if (anyCardHovered) {
classes = 'medium'
} else {
classes = 'small'
}
<div className = {hover
? style.hoveredBox
: anyCardHovered
? style.smallBox
: style.box
}></div>
Другой путь:
/* Bits: hover, anyCardHovered */
const classNames = [
style.box, // 00
style.smallBox, // 01
style.hoveredBox, // 10
style.hoveredBox // 11
];
<div className = {classNames[hover << 1 | anyCardHovered]}>
</div>
Подробнее в: https://blog.uidrafter.com/bitwise-table-lookup