Size: a a a

2019 December 26

_V

_calisi.bobo_ V. in БЭМ
источник

TA

The one & the only A in БЭМ
источник

G

German in БЭМ
Что нужно в bem-tools-create для того что-бы при создание css файлов шла цепочка импортов до директории блоков?
источник

Р

Роман in БЭМ
German
Что нужно в bem-tools-create для того что-бы при создание css файлов шла цепочка импортов до директории блоков?
Вообще не понял. в чём проблема…
источник

А

Алексей in БЭМ
German
Что нужно в bem-tools-create для того что-бы при создание css файлов шла цепочка импортов до директории блоков?
На сколько я знаю тулза только создаёт файлы и наполняет их по шаблону в настройках. Если тебе и правда нужны импорты то создай такой шаблон. Но сами они туда от всех блоков не прилетят, да и ни к чему это для css.
источник
2019 December 27

SB

Sergey Belozyorcev in БЭМ
@yarastqt а нормальная ли практика при использовании bem-react/di делать переопределения через родительские компоненты?

// block1
... объявляем блок и его реестры

// block2 (parent)
const registry = new Registry({ id: block1RegistryId })
registry.set('ProductCard', (props) => <ProductCard {...props} view='list' />)

const Block1 = withRegistry(registry)(Block1)
источник

SB

Sergey Belozyorcev in БЭМ
Ещё небольшой фидбек по реестрам. Хочется больше вывода типов....

до
import { id as registryId, IdeasPlayerRegistry } from './IdeasPlayer.registry'
const { ProductCard } = useComponentRegistry<IdeasPlayerRegistry>(registryId)


после
import { registry } from './IdeasPlayer.registry'
const { ProductCard } = useComponentRegistry(registry)
источник
2019 December 29

SB

Sergey Belozyorcev in БЭМ
Sergey Belozyorcev
Ещё небольшой фидбек по реестрам. Хочется больше вывода типов....

до
import { id as registryId, IdeasPlayerRegistry } from './IdeasPlayer.registry'
const { ProductCard } = useComponentRegistry<IdeasPlayerRegistry>(registryId)


после
import { registry } from './IdeasPlayer.registry'
const { ProductCard } = useComponentRegistry(registry)
Кстати решается довольно банально... По мотивам https://github.com/bem/bem-react/issues/507

export const useRegistry = () => useComponentRegistry<IdeasPlayerRegistry>(id)

было
import { useComponentRegistry } from '@bem-react/di'
import { id as registryId, IdeasPlayerRegistry } from './IdeasPlayer.registry'
const { ProductCard } = useComponentRegistry<IdeasPlayerRegistry>(registryId)

стало
import { useRegistry } from './IdeasPlayer.registry'
const { ProductCard } = useRegistry()
источник

EF

Elect Freak in БЭМ
БЭМ кажется неплохой на первый взгляд штукой, когда читаешь документацию, но в реальной разработке часто сталкиваешься с ситуациями, которые там не описаны. Вот, например:
Есть блок. Блок используется в >1 других блоках совершенно одинаковым образом и имеет, например, одинаковое позиционирование. Однако позицинирование – внешняя геометрия и блоку ее задавать нельзя. В то же время элемент четко прикреплен к одному блоку и не может использоваться в другом, то есть, если эту сущность я объявлю элементом, то использовать смогу только в одном блоке, а если оставлю блоком, то внешнюю геометрию придется копировать в элементы блоков, где его надо использовать, и миксовать на одном узле эти элементы с самим блоком. Ну и как тут избежать DRY, придерживаясь БЭМ?
источник

EF

Elect Freak in БЭМ
Прошу прощения за такое длинное изложение такого несложного вопроса, конечно, можно было лаконичнее, но я не смог.
источник

A

Anton in БЭМ
Elect Freak
БЭМ кажется неплохой на первый взгляд штукой, когда читаешь документацию, но в реальной разработке часто сталкиваешься с ситуациями, которые там не описаны. Вот, например:
Есть блок. Блок используется в >1 других блоках совершенно одинаковым образом и имеет, например, одинаковое позиционирование. Однако позицинирование – внешняя геометрия и блоку ее задавать нельзя. В то же время элемент четко прикреплен к одному блоку и не может использоваться в другом, то есть, если эту сущность я объявлю элементом, то использовать смогу только в одном блоке, а если оставлю блоком, то внешнюю геометрию придется копировать в элементы блоков, где его надо использовать, и миксовать на одном узле эти элементы с самим блоком. Ну и как тут избежать DRY, придерживаясь БЭМ?
А в один из дней в одном из >1 блоков, где используется этот блок с одинаковым позиционированием, оно изменится и придется править код сразу в нескольких местах.
Или кто-то решит использовать этот блок, но будет хотеть иначе его позиционировать.

Из описания кажется, что это просто частный случай.
источник

A

Anton in БЭМ
Если же позиционирование какое-то хитрое сильно или очень нужно его переиспользовать, мне кажется, в целом можно вынести его как отельный блок и, например, миксовать
источник

EW

Eugeniy World in БЭМ
Давай лучше с реальными кейсами, так будет проще тебе помочь, пока слишком абстрактно
источник

SB

Sergey Berezhnoy in БЭМ
Eugeniy World
Давай лучше с реальными кейсами, так будет проще тебе помочь, пока слишком абстрактно
+1
источник

SB

Sergey Berezhnoy in БЭМ
Elect Freak
БЭМ кажется неплохой на первый взгляд штукой, когда читаешь документацию, но в реальной разработке часто сталкиваешься с ситуациями, которые там не описаны. Вот, например:
Есть блок. Блок используется в >1 других блоках совершенно одинаковым образом и имеет, например, одинаковое позиционирование. Однако позицинирование – внешняя геометрия и блоку ее задавать нельзя. В то же время элемент четко прикреплен к одному блоку и не может использоваться в другом, то есть, если эту сущность я объявлю элементом, то использовать смогу только в одном блоке, а если оставлю блоком, то внешнюю геометрию придется копировать в элементы блоков, где его надо использовать, и миксовать на одном узле эти элементы с самим блоком. Ну и как тут избежать DRY, придерживаясь БЭМ?
ну и про «нельзя» для внешней геометрии никаких явных запретов в БЭМе нет — если есть понятное объяснение почему так надо, то можно

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

K

Katrin in БЭМ
БЭМ в принципе про повторение миллион раз мне кажется
источник

EF

Elect Freak in БЭМ
Eugeniy World
Давай лучше с реальными кейсами, так будет проще тебе помочь, пока слишком абстрактно
Например, такой сайдбар в нескольких проектах присутствует на разных страницах и у него, скажем, position: sticky, вот меня и раздражает мое непонимае чего-то, потому что без повторения кода я не смог это сделать
источник

EF

Elect Freak in БЭМ
*следуя бэм
источник

EF

Elect Freak in БЭМ
Sergey Berezhnoy
ну и про «нельзя» для внешней геометрии никаких явных запретов в БЭМе нет — если есть понятное объяснение почему так надо, то можно

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

n⚡

neomad ⚡️ in БЭМ
t.me/vscode_ru, тут это оффтоп
источник