Мммм) реактом запахло
Запах перемешенной логики и шаблона)
а если ngIf вставить логика будет както отделена?
Под логикой имел ввиду куски js кода, перемешанные с вёрсткой. Прост со временем такое тяжело воспринимать становится
а типа от директив и микросинтаксисов код лучше читается?
Мы в команде на прошлой работе ненавидели тернарники в шаблоне
Это не "по ангуларовски"
ну в большинстве случаев - да, я считаю что такой код как выше может разрастись в большую форму и отображение текста, что не даст нам вынести это в отдельный компоненты, а через ngIf можно вынести в два компонента - редактирование и просмотр, будет суперчитаемо)
Дело вкуса. Реактовский подход мне не зашёл. Ангуляровский - норм. Ну и основная логика в ангуляре вынесена в отдельный файл. В реакте она в том же файле. И хз, как так жить. Подход провоцирует на говнокод и вынести это в отдельные файлы не очень просто из-за особенности работы хуков
" и вынести это в отдельные файлы не очень просто из-за особенности работы хуков" вот-вот, даже если сильно захочется - так быстро уже не получится)
как обычно мнение чела кто не видел толком реакт + сами же и сказали вначале "дело вкуса"
Чёт я про "особенности работы хуков" не совсем понял. Типа кастомные хуки не хочется писать или что?
Я бы тебе показал на Ангуляре компоненты по 3к строк, чисто ради подтверждения позиции, что "технология не виновата" :)
так то взять, то кастомные хуки это вообще редкость когда надо писать, как и в целом использование хуков
Так я вообще не понял про что человек
чёт мало, у меня есть примеры на 10к строк
Ну так я свой пет-проект на нём начинал делать. И мне много чего не понравилось. Про хуки - я не могу отделить их от файл, в котором лежит jsx. Чтобы они были в отдельном файле. Чтобы один файл отвечал только за шаблон. И логика с шаблоном были разбиты по разным файлам. По крайней мере, как я не пытался добиться такого, не получилась А фраза "он не разобрался", ну так. Давно была практика перемешивать html и сss. Хорошая практика? Ну вот. Люди придумали mvc/mvt, а один дядька сказал "да посрать!". И поехало.
держи братик https://feature-sliced.design/ за тебя всё давно придумали
Это да) Наговнокодить можно где угодно)
Вообще не то Вот как в ангуляре сделано? Js-код, шаблон в отдельных файлах. Вот точно так же хочу в реакте А здесь открываю первый пример и вижу вёрстку, перемешенную с не вёрсткой https://github.com/feature-sliced/examples/blob/master/todo-app/src/pages/tasks-list/index.tsx
ох, ну давай расскажи в чём разница между html шаблоном ангулара и js?
никто не мешает в реакте разделять логику и "шаблон". Все по хукам распихать, как в ангуляре по сервисам
Сами то хуки останутся в файле с jsx. Это полумера, получается
я не могу js вставить в html ангуларе? я больше скажу, я могу, и все так делают и ебанный микросинтаксис это тот же сука js
с чего бы? они останутся в файлах ts
Можешь, но тебя ангуляр не принуждает к этому. А в реакте это стандарт
смысле лол не принуждает? а ну давай альтернативу ngif
Ща, сек. Вспомню что я хотел сделать, скину сюда
Ну так а какая проблема с ngif? Намного лучше тернарников js-совских
Как минимум, читабельностью
То, что можно писать в шаблонах - это не js, а некоторое подмножество js. По сути, отдельный язык, синтаксически схожий с js
ну суть спора что это не чистый html в любом случае, т.е даже если это не Js это всё равно какая-то логика смешанная с вёрсткой
Логика смешанная с версткой - это и есть шаблон вроде? Ну, т.е. без логики это будет просто статичный HTML. Другое дело, что логика бывает разная и не любую стоит тащить в шаблон
Я так давно на реакте не сидел, что всё напрочь забыл Вот пример в вакууме import * as React from 'react'; import { buttonOnClick } from './button.component'; export default function Button() { return <button onClick={buttonOnClick}>Кнопка</button>; } Хук useState вынесен в отдельный файл button.component. Там просто ему значение по умолчанию присваивается и всё. Выхлоп: Error: Invalid hook call. Hooks can only be called inside of the body of a function component. Т.е. прям совсем совсем убрать хуки из jsx файла, как понимаю, не получится. Ну или я чего-то не знаю Может я и правда глупый, раз не справился с библиотекой, который любой студент за две недели на курсах скиллбрейна разучивает. Но мне во многом подходы ангуляровские нравятся больше. Хоть и вгрызаться в них приходится мама не горюй. Какой-нибудь rxjs без понимания итераторов и генераторов заходит не очень хорошо. Доводилось работать с битриксом, со старонними плагинами, где и вёрстка и стили и код были намешаны в одно месиво. Мб психологическая травма)
вы хук в buttonOnClick чтоль засунули?
Нет, он на верхнем уровне в файле
чёт не понятно чё за дичь вы сделали, но это не чат реакта так что пофиг
Вы напрасно пытаетесь разнести JSX и код компонента, невозможность это сделать - это не баг, а фича, так задумано
Больше на троллинг похоже, 10 раз уже объяснил, чего хочу добиться.
Ну вот в этом и суть) Всё с этого и началось. Но кто-то тут написал, что можно, мне и интересно стало, как)
Раньше была идея smart/dumb компонентов, сейчас вроде это уже не очень популярно
сейчас все тупые да
Деградирует реакт )
ну всё верно, реакту сколько лет? слишком много для js либы, пора бы заменить
Поэтому и тупые)
Они там react server components хотят забабахать. Самое то, чтобы ещё фронт в бек протекал и обратно
это говно пилит vercel для vercel, и это работает только на продуктах от vercel
Обсуждают сегодня