Очень круто объясняешь, не понимаю почему у тебя так мало просмотров. Тема CSS-IN-JS все же немного огорчает разнообразием библиотек, не могу выбрать между styled-components и styled-jsx для Next.js, что лучше?
@IvanKleshnin4 жыл бұрын
Спасибо. По просмотрам сложно сказать - KZbin почти не показывает наши видео в рекомендациях :( По библиотекам CSS-in-JS я бы начинал со Styled-JSX, на неё проще перейти с обычной вёрстки. Есть классы и всё привычнее выглядит.
@jorgenUA4 жыл бұрын
Иван, сколько не вижу даже новых туториалов по Реакт: в 90% там рассказывают про Redux. Неужели эта технология всё ещё так популярна? Даже в требованиях на вакансию "фронта" его часто упоминают... Вроде как разработчики Реакт пропагандируют отход от таких библиотек... Наверное, стоит понять Redux или всё же это анахронизм? ( честно - не хочется себе голову забивать тоннами библиотек, которые потом не нужны, и так учить много чего )
@IvanKleshnin4 жыл бұрын
Сам автор Redux давно сказал, что эта библиотека не нужна в современном React. Но у людей без образования (которые составляют большинство веб-разработчиков) очень догматическое мышление. Они боятся отойти на шаг влево или вправо от прошитой (старыми туториалами) схемы. Отсюда все эти const, ===, пробел перед слешем в (был такой баг в дремучей версии IE, исправлен давным-давно, но все упорно продолжают ставить пробел). Смотреть на это может быть забавно или страшно, в зависимости от склада ума наблюдателя. Технология ещё популярна, но я не могу её рекомендовать. Для простых и средне-сложных вещей достаточно контекста и хуков. Для сложных - Apollo Client, URQL. Redux не вписывается никуда имхо. Я сам, для трудоустройства, вообще не рассматривал бы компании, где используется Redux. Точно так же как компании, где педалируется "знание OOP". Ибо они потеряли нить происходящего.
@jorgenUA4 жыл бұрын
@@IvanKleshnin спасибо, ответ - просто туториал к действиям, супер.
@jorgen54624 жыл бұрын
Лайк не глядя. Фуфла не выпускаешь.
@dev_insider4 жыл бұрын
Как по мне стоило бы упомянуть что css in js сложно дебажить, проще понять какой класс подправить чем искать нужный файл. Было бы классно чтобы классы генерировались как в css modules, типо название компоненты + хеш: Ceell__jq4jm1
@IvanKleshnin4 жыл бұрын
Сложность отладки зависит от реализации. Такие проблемы есть, но не везде. Это вопрос зрелости библиотек, а не ограничения подхода.
@indigosay82724 жыл бұрын
Как раз то, что нужно. Я на Реакте хочу писать контент, потому что делаю сайт по китайскому языку, а там будет сложная логика. Например, компонента китайского предложения будет принимать на себя китайское предложение, в котором слова разделены, и каждое слово будет объектом, у которого есть свойства написание иероглифами, значение в предложении (дословный перевод), значение как части речи, вхождение в структуры и так далее и тому подобное. Предложение будет анализироваться бэкендом, и дополнительно записываться в БД, потому что я ещё и словарь хочу сделать типа contextreverso, но с подробным языковым анализом предложений. Бэкенд будет вносить в БД статистику по каждому отдельному слову сколько раз оно применялось, какое имело перевод, какое имело дословный перевод, как чаще использовалось как так или иная часть речи и так далее. Но это занесение в память конечно же работает по специальному запросу администратора, а не каждый раз) А на фронте просто удобнее и красивее писать это в компоненты, а не html теги. Особенно удобно то, что не нужно JS прописывать отдельно перед закрывающим тегом body, а можно сразу внутри компоненты воткнуть:) Поэтому решил такую сложную логику сразу реализовывать на Реакте, а не html+js. Нормальная тактика?
@IvanKleshnin4 жыл бұрын
Не уверен, что понял всю задумку (звучит непросто), но каких-то возражений при чтении не возникло. Возможно, вам пригодится www.npmjs.com/package/markdown-to-jsx
@indigosay82724 жыл бұрын
@@IvanKleshnin Спасибо! Я ещё буду делать на этом языковом сайте различные игры, в том числе memory card, да и вообще методику интервального повторения посредством карточек делать, которые будут копиться у каждого юзера отдельно. Игры разные будут, интерактива типа озвучки, анимаций написания тоже полно. Думаю, на Реакте сразу учиться делать. Если проект не принесёт удовлетворительную сумму, то хотя бы стану профи в Реакте) Короче говоря, полностью Реактером быть)
@IvanKleshnin4 жыл бұрын
Звучит амбициозно, желаю удачи! Делайте на NextJS, а не на "чистом" React - сэкономите кучу времени.
@indigosay82724 жыл бұрын
@@IvanKleshnin Спасибо за поддержку и советы! Да, NextJS это следующий пункт в моём обучении. Сначала пройду курсов 20 по Реакту
@lex51154 жыл бұрын
А это правда, что css in js убивает -50% perfomance? Хотя, это скорее именно styled-components касается судя по бенчмаркам, что нашёл.
@IvanKleshnin4 жыл бұрын
Думаю, что нет, звучит как полная ерунда. Одним числом это не замеришь, все случаи разные. Можем опираться на прецеденты - у Facebook переход на CSS-in-JS увеличил производительность загрузки на 25% (или около того - точное число не помню, можно нагуглить).
@bigenough21224 жыл бұрын
Кому нид автокомплит стилей и подстведка, ставте плагин. В webstorm называется "Styled Components & Styled JSX"
@IvanKleshnin4 жыл бұрын
Да, хороший плагин. Мне казалось он стоит по дефолту, но не поручусь.
@bigenough21224 жыл бұрын
@@IvanKleshnin к сожалению нет. Ещё бы разобраться как при сохранении файла все красиво форматировалось
@IvanKleshnin4 жыл бұрын
Будем давать рекламу на видео и потому есть вероятность "набега" казуальщиков. Дам ориентир по уровням сложности: 0 - НУЛЕВОЙ (казуальный интерес к IT) I - НАЧИНАЮЩИЙ (учит javascript и вёрстку) II - СРЕДНИЙ (учит React) III - ПРОДВИНУТЫЙ (учит ApolloClient, начало специализации) IV - ЭКСПЕРТ (специализация, технологии вторичны) Видео записано для уровней II и III, т.е. для тех, кто уже знает основы программирования и вёрстки. Если вы изучаете JavaScript, но не против скопипастить что-то не совсем понятное - ролик также может быть полезен. Желаю приятного просмотра ;) По уровням сложности детальнее тут: kzbin.info/www/bejne/rnvUeKawqbCLo5I
@IvanKleshnin4 жыл бұрын
Ну при чём тут "характеристика"? Мне нужен был референс, влезающий в скобочки. Подставьте для себя любую продвинутую технологию, если не устраивает эта.
@bigenough21224 жыл бұрын
css in js подход интересный, не понятно как лучше медиа запросы прописывать
@IvanKleshnin4 жыл бұрын
В большинстве реализаций всё так же, как в обычном CSS.
@bigenough21224 жыл бұрын
@@IvanKleshnin жаль что нельзя как scss вложенность делать. Или пока просто не привычно)