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

Есть ли в React возможность переключать компонент примерно таким способом?



<mobile ? MyComponent : div>
<span>Text</span>
</mobile ? MyComponent : div>

Если mobile === true, то будет MyComponent, если ложно то div

Я знаю, что можно сделать как на скрине, но много кода тогда надо будет дублировать.

41 ответов

14 просмотров

да

Герман- Автор вопроса

Что-то с фрагментами связано? В какую сторону гуглить?

https://github.com/duskload/react-device-detect

Герман- Автор вопроса

Не совсем то что мне нужно. Мы на проекте вот такой велосипед сделали для определения устройства.

бред, однозначно

Герман- Автор вопроса

Почему? Vue дает такую возможность, например. Код не дублируется

не вью, а ангуляр

это не ангуляр

так, а тут в аттрибут :is можно, типа, передать название компонента, в том числе и через тернарный оператор? Типа :is={mobile ? "SomeComponent" : "OtherComponent"}

ибо в Реакте можно сам <Component создать через условие

Что нет

нужно просто const comp = true ? Foo : Bar, а потом уже делать <comp и передавать ему пропсы и чайлдов

Бро, почитай про правила именования булевых переменных. Они должны начинаться с is/has/should и тп

Это типизируется и тоже самое Но хоками скрывать как у либе выше лучше выглядет <Condition is ></

Это пример. Ты доебатсч решил ? Там нету булевой переменной даже

Не решил, просто советую. Если у тебя comp true/false то это булево переменная ;)

Лол. Ты вообще код воспринял ? Включи компилятор

вообще мимо

Ру тебя софтскиллс ещё на нуле :) не надо аггриться, это конструктивная критика

Тут ее нету. Ты с потолка что-то взял. Показал какой ты слабый

То есть <Foo /> и <Bar /> - это булевые значения?

Нет, переменная comp - булева

Поясни :)

Так в переменной comp будет лежать <Foo /> или <Bar />, не заметил?

это бесполезно

как она может быть булевой если содержит <Foo /> либо <Bar />

От чего она зависит

function App() { const child = true ? <Foo /> : <Bar /> return child }

Ну в реальном проекте тебе бы ПР не приняли, просто потому что надо называть hasChild вместо child, я об этом :)

если что child это компонент господи откуда вы ?

Не прозе объявить стрелочную функцию?)

Я из очень крупного банка, возможно в вашем проекте можно именовать так переменные, но общая практика это не позволяет :)

function Foo() { return 1} function Bar() { return 2 } App -> 1 дошло ?

какая жесть... чувак, ты прямо вообще даже мимо не вдупляешь

Ааа, и в твоём крупном банке небулевые переменные, в которых лежат объекты, называют has***?

Ок,я лох :)

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта