Size: a a a

2020 March 01

SB

Sergey Belozyorcev in БЭМ
Ильдар
постоянный вызов setVal
Поставь дебаггер в эту точку  (где console.log) и посмотри стек вызовов. Увидишь кто и когда дёргает этот метод.
источник

SB

Sergey Belozyorcev in БЭМ
Sergey Belozyorcev
Поставь дебаггер в эту точку  (где console.log) и посмотри стек вызовов. Увидишь кто и когда дёргает этот метод.
Если не получится выявить причину, то хорошо бы на github выложить кейс для воспроизведения проблемы
источник

N

Nemesis in БЭМ
источник

VB

Vyacheslav B. in БЭМ
Не новость. Смотри многолетние ишью на гитхабе.
источник
2020 March 02

И

Ильдар in БЭМ
Sergey Belozyorcev
Поставь дебаггер в эту точку  (где console.log) и посмотри стек вызовов. Увидишь кто и когда дёргает этот метод.
источник

И

Ильдар in БЭМ
причины почему вызов бесконечный я  пока не знаю
источник

SB

Sergey Belozyorcev in БЭМ
Всё ок.

Каждый tick берётся значение input (из dom) и сохраняется в инстансе. Таким образом происходит синхронизация.

Отсюда и бесконечный setVal.
источник

SB

Sergey Belozyorcev in БЭМ
@tadatuta ты случаем не помнишь почему так организована синхронизация?.
источник

VG

Vladimir Grinenko in БЭМ
Sergey Belozyorcev
@tadatuta ты случаем не помнишь почему так организована синхронизация?.
помню. на момент, когда это писали, oninput не работал в большинстве браузеров, поэтому делали поллинг по таймеру.

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

VG

Vladimir Grinenko in БЭМ
есть даже issue https://github.com/bem/bem-components/issues/287 2014 года про это
источник

И

Ильдар in БЭМ
Vladimir Grinenko
помню. на момент, когда это писали, oninput не работал в большинстве браузеров, поэтому делали поллинг по таймеру.

а чтобы не грузить поллингом кучи инпутов браузер, когда пользователь не взаимодействует со страницей, было реализовано засыпание.
Спасибо, понял. Значит блок ведёт так как и задумано.
источник
2020 March 04

АО

Александр Олейников in БЭМ
Есть блок Gallery — листаемая галерея изображений. И есть корневой блок Page, содержащий эту галерею с картинками foo.png, bar.png и baz.png:

import React from 'react'

import foo from './path/to/foo.png'
import bar from './path/to/bar.png'
import baz from './path/to/baz.png'

export const Page = () => (
 <div className='Page'>
   <Gallery images={[foo, bar, baz]} />
 </div>
)


Как предполагается хранить эти картинки по nested схеме организации файлов?
1. blocks/Page/{foo,bar,baz}.png?
2. blocks/Page/images/{foo,bar,baz}.png?
3. blocks/Page/Image/Page-Image_{foo,bar,baz}.png?
4. Как-то иначе?
источник

VH

Vitaly Harisov in БЭМ
Эти картинки это контент галереи? Если да, то они не относятся к коду блока и не должны лежать в нём
источник

АО

Александр Олейников in БЭМ
Vitaly Harisov
Эти картинки это контент галереи? Если да, то они не относятся к коду блока и не должны лежать в нём
Почему не относится? Потому что картинки здесь — это данные, а не код, или по другой причине?
источник

VH

Vitaly Harisov in БЭМ
Александр Олейников
Почему не относится? Потому что картинки здесь — это данные, а не код, или по другой причине?
Картинки это данные, они не являются реализацией блока
источник

АО

Александр Олейников in БЭМ
Vitaly Harisov
Картинки это данные, они не являются реализацией блока
https://ru.bem.info/methodology/key-concepts/#%D1%80%D0%B5%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F-%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0

Тут говорится, что "дополнительные данные (например, картинки)" входят в реализацию блока.
источник

VH

Vitaly Harisov in БЭМ
Да, когда эти картинки являются реализацией блока (оформление блока), а не его данными
источник

АО

Александр Олейников in БЭМ
Vitaly Harisov
Да, когда эти картинки являются реализацией блока (оформление блока), а не его данными
А данные предлагается всегда пробрасывать через props? Понятно, спасибо.
источник
2020 March 07

ПЗ

Павел Зубков in БЭМ
По каким причинам отказались от классического стека, где-нибудь можно почитать?
источник

Р

Роман in БЭМ
Вряд ли. О таком не пишут, но могу предположить сразу несколько весомых причин: проще найти кадры, развитие разработки интерфесов в сторону SPA и «реактивности», богатая экосистема…
источник