Size: a a a

React — русскоговорящее сообщество

2020 October 29

А

Александр in React — русскоговорящее сообщество
Danya Adadurov
Но это и создает путаннцу, плюс к этому концепция "один файл - один блок" не совсем укладывается в модульность, т.к. модуль сам по себе принадлежит целому компоненту, а деление на блоки и деление на компоненты отличаются
По мне блоки очень хорошо ложатся на компоненты.
источник

S

Stanislav in React — русскоговорящее сообщество
Bogdan Neterebskii
Добрый день. Не подскажите, можно ли типизировать компонент страницы в nextjs (то, что определяется в pages)? И если да, то какой у этого тип?
там есть NextPage, NextComponentType, но они костыльные какие-то, я предпочел забыть что я в нексте и возвращаю JSX.Element (пропсы типизирую там где принимаю)
источник

А

Александр in React — русскоговорящее сообщество
Danya Adadurov
Она подходит к компонентному подходу. Т.е. ты создал компонент и пихай куда угодно. Но что, если мне надо создать похожий компонент, а стили у него похожи с первым. Тут бы БЭМ выручил неплохо, а модульная ксс в этом случае всё портит
А вот "похожие" компоненты делать через одни и те же стили это плохая практика и в бэм, там вообще переопределение стилей только в отдельных случаях допускается, вроде позиционирования элемента, для остального есть модификаторы.
источник

BN

Bogdan Neterebskii in React — русскоговорящее сообщество
Stanislav
там есть NextPage, NextComponentType, но они костыльные какие-то, я предпочел забыть что я в нексте и возвращаю JSX.Element (пропсы типизирую там где принимаю)
Спасибо!
источник

DA

Danya Adadurov in React — русскоговорящее сообщество
Александр
По мне блоки очень хорошо ложатся на компоненты.
Они ложатся В компоненты. В компоненте может быть любое кол-во блоков. а вот в блоке напротив не может быть что-то большее, чем блок. Сравнивать их, всё равно что сравнивать грузовик, и ящики, которые этот грузовик перевозит
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Danya Adadurov
Они ложатся В компоненты. В компоненте может быть любое кол-во блоков. а вот в блоке напротив не может быть что-то большее, чем блок. Сравнивать их, всё равно что сравнивать грузовик, и ящики, которые этот грузовик перевозит
апи сделай нормальный, тогда не надо будет сравнивать грузовик с ящиками. ты в первую очередь — проектировщик, а уже потом верстала
источник

А

Александр in React — русскоговорящее сообщество
Danya Adadurov
Они ложатся В компоненты. В компоненте может быть любое кол-во блоков. а вот в блоке напротив не может быть что-то большее, чем блок. Сравнивать их, всё равно что сравнивать грузовик, и ящики, которые этот грузовик перевозит
Может, но чем меньше там блоков, тем лучше, по бэму тоже описываются ситуации, когда надо делать "элементы элементов" и как их решать. Наоборот очень хорошая сдерживающая модель, которая не позволяет плодить жирные компоненты.
источник

NT

Nikolay Tolochnyy in React — русскоговорящее сообщество
Александр
Может, но чем меньше там блоков, тем лучше, по бэму тоже описываются ситуации, когда надо делать "элементы элементов" и как их решать. Наоборот очень хорошая сдерживающая модель, которая не позволяет плодить жирные компоненты.
это когда?
источник

А

Александр in React — русскоговорящее сообщество
Nikolay Tolochnyy
это когда?
Что когда?
источник

NT

Nikolay Tolochnyy in React — русскоговорящее сообщество
Александр
Что когда?
когда можно делать элементы элементов?
источник

NT

Nikolay Tolochnyy in React — русскоговорящее сообщество
такого вообще не должно существовать
источник

DA

Danya Adadurov in React — русскоговорящее сообщество
Bugs Bunny
апи сделай нормальный, тогда не надо будет сравнивать грузовик с ящиками. ты в первую очередь — проектировщик, а уже потом верстала
Ну это ж не значит, что надо верстать как мудак. Примеси совсем уж так-себе идея для обеспечения реюзабельности стилей.
источник

А

Александр in React — русскоговорящее сообщество
Nikolay Tolochnyy
когда можно делать элементы элементов?
Ну правильнее будет сказать не когда, а как, сейчас найду эту часть в доке
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Danya Adadurov
Ну это ж не значит, что надо верстать как мудак. Примеси совсем уж так-себе идея для обеспечения реюзабельности стилей.
если у тебя DRY прямо в крови, то можешь юзать миксины. но в большинстве случаев переменных хватает
источник

DA

Danya Adadurov in React — русскоговорящее сообщество
Bugs Bunny
если у тебя DRY прямо в крови, то можешь юзать миксины. но в большинстве случаев переменных хватает
переменные не решают проблему дублирования, ты просто будешь переписывать свойства по 100500 раз записывая переменные, вместо значений.  А на счёт проектирования: организация CSS кода - это часть проектирования, при чём не самая последняя на фронте.
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Danya Adadurov
переменные не решают проблему дублирования, ты просто будешь переписывать свойства по 100500 раз записывая переменные, вместо значений.  А на счёт проектирования: организация CSS кода - это часть проектирования, при чём не самая последняя на фронте.
если честно, я не понимаю концепцию
то есть, условно у нас есть Button. внезапно, нам нужен Button с Icon.
мы берем Button, добавляем ему startIcon, endIcon пропы, вешаем на них классы из модуля и все
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
делаем сокрытие в зависимости от переданного пропа
источник

DA

Danya Adadurov in React — русскоговорящее сообщество
Bugs Bunny
если у тебя DRY прямо в крови, то можешь юзать миксины. но в большинстве случаев переменных хватает
В идеале должны быть БЭМ-блоки с глобальной областью видимости и минимумом специфичности, которые можно использовать сразу в нескольких компонентах. Кнопки, инпуты, etc...
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
Danya Adadurov
В идеале должны быть БЭМ-блоки с глобальной областью видимости и минимумом специфичности, которые можно использовать сразу в нескольких компонентах. Кнопки, инпуты, etc...
ну это тебя уже в степь какую-то лютую понесло. ты создаешь одну и ту же вариацию Button с разными классами?
источник

BB

Bugs Bunny in React — русскоговорящее сообщество
PrimaryButton, SecondaryButton?

Button color='primary' ?
источник