В project-stub (PS) есть плюс и минус одновременно связанный с подключением блоков.
В PS не нужны были deps файлы. Просто делаешь портянку из bemjson и она работает.
Про минус этого подхода я описывал здесь
https://github.com/bem/project-stub/issues/159В React мире каждый модуль нужно импортировать вручную, что влечёт за собой чуть больше времени на написание демки.
С этим нужно смириться.
В плане всяких Hot Reload - в большинстве инструментов на React это работает из коробки (create-react-app, nextjs, storybook, и т.д.).
Просто поправил что-то в коде, а в браузере уже исправленный код.
На счёт bem-react/di, возможно вам он даже не понадобится (как мне кажется).
Т.к. di просто позволяет использовать механизм слотов. Т.е. есть какой-то блок MyBlock, состоящий из элементова Icon и Text, через DI можно вместо Text вставить, например, кнопку. DI скорее всего больше для разработчиков подходит, чем для дизайнеров.
В плане переопределений что конкретно хочется? Если чисто CSS специфичный для платформ - то это на раз плюнуть.
// Block.tsx
import 'Block.css'
// Block@desktop.tsx
export * from './Block'
import 'Block@desktop.css'
// Block@phone.tsx
export * from './Block'
import 'Block@phone.css'
Если разная вёрстка, то здесь либо 2 разных шаблона использовать, либо DI (если позволяет вёрстка).