Как стать автором
Обновить
2
0

Пользователь

Отправить сообщение

Ну сама интеграция с Реактом (проброс IoC контейнер(ов)) идёт всё-равно через React Context – это низкоуровневый апи, от этого никуда не уйти.
Надёжнее – это не в плане, что какой-то там из use'ов отвалится из-за вспышки в верхних слоях атмосферы, а надёжный выбор – не подведёт при усложнении проекта и появлении новых челленджей. Иерархичность, разные виды байндингов/мэппингов, асинхронные подгружаемые зависимости и т.д. Вся эта проблематика обкатана годами на разных платформах и технологиях.

Я, как пользователь и контрибьютор inversify-react, хотел бы сделать акцент на том, что UI вторичен, а DI нужен везде, поэтому и решения типа inversify + интеграция с Реактом выглядят полезнее-надёжнее.

MaZaAa ну давай асинхронные пайплайны на MobX, где же, просим
Что вы имеете ввиду под «взорвётся»? Этот пример с интервалом же практически ничем не отличается от нативного
setInterval(handler, 1)

который непонятно как может взорваться
membrum MaZaAa
NB! Вот тут Мишель (автор MobX) отмечает, что он как раз by design стремился к синхронному исполнению реакций, так что откладывание на микротаску (и тем более на макротаску) скорее будет усложнять жизнь.

и вот ещё из доки:
reactionScheduler: (f: () => void) => void

Sets a new function that executes all MobX reactions. By default reactionScheduler just runs the f reaction without any other behavior. This can be useful for basic debugging, or slowing down reactions to visualize application updates.

mobx.js.org/refguide/api.html#reactionscheduler-f-void-void
А что изменилось?
По моим впечатлением, оно уже долгое время является самой мощной и удобной реализацией в мире JS/TS.
ты всё на глобальных пишешь?)
«нужный стор» понятие относительное, относительно контекста использования. Почитайте про концепцию Dependency Injection и, например, про реактовый контекст.
Вы меня не удивили, но огорчили. Вы оперируете глобальными (типа статическими) переменными и отказываетесь думать в модульность.
Это троллинг?
Нет, мы работаем с MobX и InversifyJS для жирной модульной бизнес-логики со сложными графами связанных объектов в своих ограниченных контекстах (модули), а React всё это рендерит, инжектя в себя необходимые вью-модели (сторы) из тех контекстов, которые ему доступны в том или ином поддереве.
А ваш совет подходит для TODO-app на нескольких синглтонах.
а просто будете делать import вашего стора/сторов, то вообще будет сказка


не учите плохому, это фактически тот же самый
MyThing.getInstance()


Для прямого связывания сторов (моделей) есть DI через конструктор (poor man's DI ручками через конструктор),
для связывания UI компонент с ними есть DI или на пропсах, или сырой реактовый контекст, или нормальные IoC абстракции над контекстом (InversifyJS)
Иерархичность – ок, вещь полезная и необходимая. Я правильно понимаю, что ты видишь это bottleneck'ом, и, соответственно, главным аспектом вопроса фронтендового DI?
На случай, если да – сразу спрошу – откуда появляется необходимость делать это прям по дереву компонентов? У нас в проекте (гэмблинг :/) по сути два контейнера – сессионный и конкретной подгружаемой игры – и это вроде хватает.
А в чём мотивация делать IoC именно под React? Ведь это абстрактная штука, не связанная с реактом.
Вот например InversifyJS это просто хороший IoC container, который можно заюзать и с реактом, и без реакта (с чем захочешь, под что напишешь адаптер).
Да (и такое бы можно было организовать, если бы WeakMap/WeakSet можно было бы проитерировать).
По-прежнему нет слабых ссылок :/

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность