Comments (7)
@NikitaRzm очень красиво сделано) Я когда искал решение даже не думал в сторону хока и контекста)) Точно нужно перетянуть этот код в стартер кит, возможно даже оформить отдельным npm-пакетом.
Я бы еще добавил возможность отловить факт того что ничего не бутстрапилось. Будет полезно при предзагрузке вложенных друг в друга асинхронных фич. Типа запускаем этот код в цикле пока не будет нулевая предзагрузка. Но в таком случае придется помнить о такой особенности, и в каждом getJobCreator придется делать проверку на то выполненна ли уже предзагрузка
from react-redux-starter-kit.
Насколько я понимаю все пропало, и бутстраппер не будет работать с хуками. Грубо говоря, за то, что вызывается на хуках отвечают же рендерер-либы (реакт дом и всякое такое). А react-tree-walker
, который бутстраппером юзается, берет и рендерит компоненту тупым вызовом метода или функциональной компоненты. Если подебажить с брейкпоинтом в рендере можно четко это увидеть.
Через дебаггер получил: вот тут на 165 строке вызывается рендер, а это как раз коллбэк с 278 строки, т.е. тупо вызывается функ. компонента, и никакие хуки при таком подходе в принципе не могут работать.
from react-redux-starter-kit.
поищи в react-tree-walker и react-async-bootstrapper иши на эту тему, если там тишина, то оставь им ишьюс и кинь сюда ссылку на него.
Ну и можно поискать какие-нибудь аналоги, что нам нужно: нужно на стороне сервера, во время серверного рендера, иметь возможность реагировать на отрисовку определенных компонент реакта, чтобы выполнять предзагрузку данных и инициализацию редакс стейта. Возможно есть принципиально другие подходы для решения такого рода задач.
from react-redux-starter-kit.
Возьмите бустраппер с птички. react-tree-walker тот еще костыль, а руками можно запилить норм. У нас на птичке замечательно работает при том конструкция довольно простая. И выпилите этот вендор код - при том довольно говеный код :)
from react-redux-starter-kit.
А там как-то это переписали? Я помню там руками на сервере мы запускали всякие асинхронные вещи, причем для всех раутов одинаковые.
from react-redux-starter-kit.
Да, я перепилил, вот обвязка: https://gitlab.com/documents-project/order-form/blob/master/src/shared/helpers/bootstrap.tsx
Вот так используем: https://gitlab.com/documents-project/order-form/blob/master/src/features/ordersHistory/view/containers/OrdersHistory/OrdersHistory.tsx#L65
И в server.tsx также бутстрапим на отдельном дереве )
from react-redux-starter-kit.
Да, я перепилил, вот обвязка: https://gitlab.com/documents-project/order-form/blob/master/src/shared/helpers/bootstrap.tsx
Вот так используем: https://gitlab.com/documents-project/order-form/blob/master/src/features/ordersHistory/view/containers/OrdersHistory/OrdersHistory.tsx#L65
И в server.tsx также бутстрапим на отдельном дереве )
у меня 404
доступа нету?
from react-redux-starter-kit.
Related Issues (20)
- Переименовать все namespace.ts в types.ts HOT 6
- Переименовать каталог с action creators из actions в actionCreators HOT 3
- Отказаться от интерфейсов? HOT 49
- Отказаться от дефолтных экспортов? HOT 6
- добавить микрофичи HOT 19
- Отказаться от redux-saga в пользу redux-observable HOT 6
- Отказаться от сущности element HOT 2
- Отказаться от сущности module HOT 34
- Выпилить неиспользуемые хелперы HOT 3
- Косяки в текущей реализации SSR HOT 1
- Добавть ресет стилей HOT 5
- Выпилить shared/types/guards.ts HOT 2
- установить флаг strict: true в tsconfig.json HOT 6
- выпилить core/__mocks__/fileMock.ts HOT 3
- Поменять интерфейс makeFeatureEntry HOT 2
- Пофиксить SSR HOT 6
- Обновить демо на Github Pages HOT 2
- Сверстать новый дизайн для демо проекта HOT 2
- Убрать все асинхронные фичи в демо-проекте
- Системно исправить асинхронные фичи
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-redux-starter-kit.