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

Всем хелоу. Вопрос по HOC. Почему не получается стилизовать WrappedComponent

в HOC-компоненте? Простой пример: отправляю в HOC-компонент (div с текстом) и хочу вернуть то же самое, но со стилями. Но это не срабатывает. Однако, если в HOC рядом с возрвращаемым комнонетом положить какой-то jsx-элемент, написанный прямо внутри HOC, например еще один div - на нем стили срабатывают. А на присылаемом WrappedComponent - нет. Что-то я не догоняю)

18 ответов

14 просмотров

Не делай хок плиз, молю умоляю, бляа пожалуйста, придумай другое решение в 2022 году

Chatlanin
Пачиму

Потому что потом не оттебажишь

Ты бы лучше не умолял, а обосновал. У HOC нету альтернативы вообще-то.

Для 98% задач альтернатива есть

Понятно, как собственно и реакт можно заменить отсутствием реакта например, все понял

Denis Deniskov
Понятно, как собственно и реакт можно заменить отс...

Ну хок ещё альтернативой можно заменить, только ты почему-то говоришь, что нет

Или я чего-то не понимаю? Что это значит?

Мороз Аксёнова
Или я чего-то не понимаю? Что это значит?

https://codepen.io/capfsb/pen/ZEXooeL Вот как тут избавиться от HOC?

Ты и так их создал 🤷‍♂️

Только вдобавок нарушил читабельность и добавил потенциальную коллизию пропов

Мороз Аксёнова
Ты и так их создал 🤷‍♂️

Главное отличие HOC от кастомного хука в том что оборачиваемый компонент ничего не знает о HOC. HOC это пораждающий паттерн если угодно. Объявление явно и создание через hoc разные вещи. Помимо этого кастомные хуки тебе не дадут возможностей декарировать оборачиваемый компонент например вот так https://codepen.io/capfsb/pen/ZEXooeL

Мороз Аксёнова
Только вдобавок нарушил читабельность и добавил по...

Да, это минусы hoc. Я сам считаю что HOC нужно использовать примерно никогда. Всегда лучше сделать кастомный хук и объявить пару новых компонентов(хотя обычно достаточно хука), чем делать HOC. Но hoc != кастомный хук, потому что ты сам верно сказал, что разбиение кода на функции(хуки) это не паттерн декоратор, вот и все. Возможно и есть задачи которые через HOC решаются лаконичнее, но в голову сразу не лезет нормальный пример, а примеров использования кастомных хуков для разделения кода жопой жуй, просто потому что разбиение через хуки более интуитивный способ писать код. Вот в последнем случае я тебе привел пример когда на хук уже заменить сложнее и придется логику с зеленой обводкой повторять в компонентах, но даже в этом случае я считаю что лучше отказаться от HOC. Просто припекает когда люди пишут про догмы и серебрянные пули в духе "в 2022 молю не используй hoc это не модно/не круто/мне не нравится/так не заведено(выбрать нужное)", не объясняя почему и чем например HOC хуже. Аргументируя это тем что так заведено, вот почему. А то что HOC и кастомный хук не всегда могут быть легко заменены это почему-то таких советчиков не волнует.

А в чем проблема хоков?)

RR
А в чем проблема хоков?)

Тяжко потом работаться че откуда появляется

Кажется тут намного проще и расширяемое решение будет компонент с children пропом

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
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
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта