Pull to refresh
10
0
Петр Трипольский @tripolskypetr

Frontend разработчик

Send message

Много времени прошло, успел написать автогенерацию UML диаграмм из TypeScript кода в yaml, чтобы делать красивую документацию, асинхронные инъекции через dynamic import, локальные сторы для роутов module federation...

В организации есть несколько проектов, на примере react-pocketbase-crm можно посмотреть DI в действии

А компоненты обновил? А что уже было написано с поправкой на отсутствие batching не поломал? А точно нет сторонних модулей с мертвым автором?

https://youtube.com/shorts/eXwplb6mJGY

P.S. А джуна как онбордить 😊

Batching вроде починили, ранее он не работал после setTimeout. Соответственно, после внедрения любой фичи с debounce мог появиться плавающий баг

https://stackoverflow.com/questions/65426169/why-setstate-in-settimeout-not-batching

Думаю, на tanstack как раз можно реализовать такой конфиг)

Для табличек и списочных форм, да. Эта статья скорее для тех, кто пишет что-то вроде Visual Studio Code, этот редактор тоже сайт, который открывается в Electron

https://github.com/microsoft/vscode/tree/main/src/vs/editor/browser/services

Да, контексты из React позволяют реализовать DI, однако, при их композиции могут возникать трудности, связанные с тем, что порядок объявления описывается руками, а не вычисляется по требованию. См. вышеупомянутые AuthService и SessionService

Ещё один кейс. Думаю, каждый сталкивался с ролевой моделью. Если в случае с объектом ioc для переключения роли достаточно написать в консоли ioc.roleModelService.setRoles(["admin"]), то с контекстами придется патчить код или менять моки, что на большом проекте сложно

Mobx тратит меньше оперативной памяти, для мобилок критично, как по батарейке, так и по производительности, сборка мусора останавливает приложение

Через ioc достучаться до стейта приложения можно откуда угодно. В том числе из дебаггера, отладка проще

Сопровождение проще, так как не нужно описывать провайдеры (контексты) или boilerplate. После написания базовых сервисов, скорость разработки выше

Размер бандла изменится не сильно, тот же самый код всё равно придется где-то расписать, например, в action-creators, middlewares и reducers. Однако, с классами проще избежать копипасты, на проектах с уже плохим кодом размер бандла, если откатить время назад и взят Mobx+DI, мог бы быть меньше.

Овсянка, сер! Это для любителей, которые хотят сделать для React сервисы как в Angular2)

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Frontend Developer
From 3,000 $
JavaScript
TypeScript
React
Angular
NestJS
MobX
Adaptive layout
CSS-IN-JS
SOLID
Qt