старт:
вешаем ссылку эксты к точке ./ext (тестировалось на 6.6.0, если менять то вместе с версией фреймворка в конфигах)
cd react_lib & npm i
npx webpack (или ярном, ну вы поняли)
cd .. && sencha app watch
сборка:
cd react_lib & npx webpack & cd .. & sencha app build --production
ext - 6.6.0, должен лежать в папке ./ext (можно как обычно ссылку кинуть)
react - просто фигачим компоненты в react_lib/src/Components, оборачиваем используемые в эксте в рефвраппер (это важно, иначе "умная" экста считает, что высоту компонента можно выставить в 0 хд) и добавляем в index.js в react_lib (импорт и реэкспорт) (см. TestComponent)
Ext - пилим компонент { xtype: 'reactWrapper', reactComponent: 'TestComponent', //там еще rreactTable есть props: { тут пропсы для компонента реактовского если надо (= } } где reactComponent - собсно, название компонента
Связаны они через app.json (там чисто бандл указан), в принципе религия не запрещает вынести либу в отдельную репу, просто кинув ссылку на react-library.bundle.js куда-нибудь в папку проекта и поменяв ссыль на файл в app.json
минусы - придется пересобирать реактовскую либу локально примерно для каждого изменния в реактовских компонентах, потому что экста способна их кушать только из бандла (ну не дружит она с jsx) )=
плюсы - эм, ну, реакт, в эксте, с привезенным антом из коробочки без смс и регистрации