169 похожих чатов

Можно ли в тернарном условии как-то сделать приравнивание? Ну типа, в

теле JSX написать такое условие

let level = 0;

if(level === 0) {
console.log('No nest')
} if (level === 1) {
console.log('Nested level 1')
} if (level === 2) {
console.log('Nested level 2')
}


На обычном if else это изи, но как на тернарке захерачить?

16 ответов

14 просмотров

тернарный оператор не вызывает ничего, а возвращает значение в зависимости от условия. Соответственно тернарник должен что-то возвратить в переменную (например тело функции), а функция из переменной дальше должна вызваться и выполнить все что тебе нужно

ты имеешь ввиду так console.log(level === 0 ? 'No nest' : level === 1 ? 'Nested level 1' : level === 2 ? 'Nested level 2' : null)

для таких людей горит отдельный котел)

Rodion- Автор вопроса

ой, бля, не начинай

Rodion- Автор вопроса

да, спасибо!

бахни switch

это вообще извращенный свитч

Rodion- Автор вопроса

ну а как внутри JSX иначе условия писать ?

ты можешь до метода рендер что-то сохранять в переменную в зависимости от условия, а в сам jsx закидывать только свою переменную, это повысит читаемость

Сейчас деды научат, забей , хд )

Ну, если level может быть любым, а не только 0, 1 и 2 – console.log(!level ? 'No nested' : `Nested level ${level}`)

Rodion- Автор вопроса

ну вот я так и сделал, заранее, перед рендером записываю в переменную level значение от 1 до 2. В самом JSX мне нужно вывести определённые данные в зависимости от того что в level 0,1 или 2.

Rodion- Автор вопроса

только 0, 1 или 2)

Rodion- Автор вопроса

но спасибо

Вот более изящный и гибкий пример в одну строку. //level - число (нужно его скастить в строку) // создаешь конфиг в отдельном пакете и файле export const levelConfig = (props) => { return { ['0']: <AnyComponent {...props} />, ['1']: <AnyComponent {...props} />, ['2']: <AnotherAnyComponent {...props} />, }; }; //пример использования в jsx. В зависимости от level будет рендерится нужный компонент через конфиг <div> { levelConfig(props)[level] } </div>

Rodion- Автор вопроса

интересно, спасибо!

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта