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

Друзья, а есть такой вопрос когда оправдано юзать HOC, a

когда нет?

ну вот такой пример банальный:

const withMainLink=( Component ) =>{
return () => <Component>
<Link to="/">Main page</Link> <div></div>
</Component>
;
}

const StatsNav = (props) => {
return (
<nav>
{props.children}<span>Users Statistics</span>
</nav>
)
}

withMainLink(StatsNav);
withMainLink(UserNav);

etc...

такое себе ?

12 ответов

6 просмотров

никогда не оправдано если у вас не легаси

Dmitriy Shuleshov
никогда не оправдано если у вас не легаси

Блин, вот я сижу на англоязычных и русскоязычных каналах, и только тут люди позволяют себе такие категоричные заявления.

Andrey
Блин, вот я сижу на англоязычных и русскоязычных к...

можете оспорить это категоричное заявление?

Drew-Naumenko Автор вопроса
Dmitriy Shuleshov
никогда не оправдано если у вас не легаси

понял cпс, одному компоненту одну nav верстать , второму вторую , и не мутить пытаясь сколотить для их двоих что-то типо HOC или Slots ну я пытался попрактиковать эти паттерны точнее, понять где их использовать , но ни один особо не подходит то что я хотел сделать.

Drew Naumenko
понял cпс, одному компоненту одну nav верстать , в...

Опишите решаемую задачу, скорее всего ее проще решить без хока, простой композицией

Drew-Naumenko Автор вопроса
Dmitriy Shuleshov
Опишите решаемую задачу, скорее всего ее проще реш...

ну вчера я вроде скидывал ну вот смотри есть ' / " на этом роуте есть линка stats , клик на неё переходим '/stats' включаем компонент Stats , там есть навигация такого вида : <nav> <Link > Main Stats< /Link> <span>Statistics<span> </nav> на странице этой есть таблица юзерами клик по юзеру переходим на страницу юзера '/stats/23' тут уже немного другая навигация <nav> <Link > Main Stats< /Link> <Link>Statistics<Link> <span>User Full Name</span> <nav> потом бы ещё например на read full bio клик '/stats/23/bio': <nav> <Link > Main Stats< /Link> <Link>Statistics<Link> <Link>User Full Name</span> <Link> <span> Bio</span> не знаю может вообще эти подходы hoc и slots тут не приделах, просто решил именно тут попробовать использовать их. по сути я каждый в эту навигацию куски вёрстки добавляю по мере углубления - наверно с таких соображений.

Drew Naumenko
ну вчера я вроде скидывал ну вот смотри есть ' /...

Лучше не использовать хоки для рендера ЮИ — лучше хранить логику рендера всё-таки в рендере. Почему бы тебе не сделать отдельный компонент навигации, который сам будет рисовать нужные ссылки в зависимости от текущего роута? Не совсем понятно что именно тебе нужно

Drew Naumenko
ну вчера я вроде скидывал ну вот смотри есть ' /...

Я бы наверное реализовал компонент который хранит навигацию, который через паттер матчинг подсовует необходимый лейаут

Drew-Naumenko Автор вопроса
Dmitriy Shuleshov
Я бы наверное реализовал компонент который хранит ...

вот спасибо, https://www.npmjs.com/package/react-pattern-matching вот это он? но вёртску навигации для каждого роута вложености мне свою то делать, автоматизировaть её то не получиться?

Drew Naumenko
вот спасибо, https://www.npmjs.com/package/react-p...

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

Drew-Naumenko Автор вопроса
Dmitriy Shuleshov
я говорил не про либу а про подход, есть даже проп...

супер , только не знаю насколько правильно проверку путей так делать , вот что-то накидал export const Nav = (props) => { const { selectedUser } = useSelector(state=>state); return { '/stats': <StatsNav />, [`/stats/${selectedUser.id}`]: <UserNav setModal={props.setModal}/> }[props.location.pathname] || null };

Drew Naumenko
супер , только не знаю насколько правильно проверк...

ну мне код нравится такой но часто моим колегам нет😅 так что зависит от ваших тиммейтов

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта