artalog
4.24K subscribers
542 photos
40 videos
40 files
913 links
Развернутые ответы на вопросы в чатах, мысли от рабочих процессов.
Вопросы - @artalar.
Download Telegram
tg_image_1453307235.jpeg
519.2 KB
Поменял темы на Box UK и Box UK Light


"editor.fontFamily": "Iosevka Term",
"editor.fontWeight": "600",
"editor.fontLigatures": true,
"editor.fontSize": 18,


#ide
😐4🔥3👍2🥱2
Автоинкремент версии пакета при обновлении его зависимостей

Очередной ответ на вопрос “а зачем пилить свой велосипед”. Есть мета пакет framework, который просто зависит от пачки типовых пакетов и делает из них реекспорты - удобно ставить, удобно импортить, удобно.

Но что бы обновление любого зависимого пакета попало к вам в проект, нужно доставлять его вручную, либо использовать какие-то патч утилиты / доп команды пакетных менеджеров, которые не знаю я и большинство других разработчиков.

Поэтому решил автоматически бампать версию фреймворка с новыми минимальными версиями зависимостей при апдейте какой-то зависимости. Патч скрипта паблиша по ссылке в заголовке. Про сам скрипт уже рассказвал.
👍2
О как
🤔10👍1
Forwarded from UfoStation
В ближайшем времени будет запись нового выпуска подкаста Станция НЛО

Рассмотрим язык программирования Clojure, а поможет нам известный в узких кругах гость 😎

Напишите какие вопросы вы хотели бы, чтобы были озвучены в выпуске, если таковые имеются
🔥5👍1
Немножко поговорим про роутинг
🔥1
Live stream started
Live stream finished (26 minutes)
Роутинг
artalog
👍6
Forwarded from Andrey Sitnik
BarcelonaJS. Записи нет (но слайды дублируют выступление на 95%)
👍1
Максим хорошо пишет про новости, зацените @msosnovfeed

Ещё одна реклама другого канала, просто потому что я сам их читаю и могу рекомендовать :)
81
На носу выходные, грядут 48 часов для работы над петами как обычно делюсь видео, в этот раз очень важным для меня - туториал по реатому!

Трижды перезаписывал, жду фидбек и критику :)
9
Всю неделю болею я и семья.., на посты уж совсем сил не хватает. Но вот вам краткая сводка интересного за неделю:

Опять ругаю final-form

Хвастаюсь реатомом

Про неочевидный афект перформанса простыми вещами: https://twitter.com/artalar_dev/status/1598429731023687681 и https://github.com/evanw/esbuild/issues/478

Обсуждаем атомарность в треде новой реактивной библиотеки

Видео на посмотреть из моих закладок
👍7🤡1
Всегда думал что не смогу писать в канал потому что темы закончатся, а у меня их столько что времени все переварить нет.

Активно пишу доки к @reatom_ru_news и внедряю в свой прод.

Думаю над обновлением stylerun.

Ковыряю внутрянку преакта.

Планирую запись подкаста и новые статьи по реатому...
🔥6
Изи контрибьюшен #help_oss
Forwarded from Reatom новости
Подъехала идея. Хотите законтрибьютить в реатом целый пакет? Склонте репу, запустите npm run package-generator, укажите имя web-requestanimationframe и в сурсы запихните экшен который будет вызываться по requestAnimationFrame.

Делов немного, только засуньте инициализацию подписки на rAF в функцию в отдельном файлике create.ts, а в index.ts экспортируйте ее результат (что бы пользователь мог запустить ее когда ему нужно, или не запускать в ssr).
👍1
useSyncExternalStore

Подъехал очередной апдейт beta.reactjs.org. Все достаточно подробно и просто описано, только вот это вот важное замечание где-то вконце скрывается: If a different subscribe function is passed during a re-render, React will re-subscribe to the store using the newly passed subscribe function. You can prevent this by declaring subscribe outside the component.

Иначе говоря, НЕ создавайте функции для гета или подписки инлайн (как для useEffect), иначе на каждый ререндер будет отписка и подписка useSyncExternalStore((cb) => some.subscribe(cb))

Но у меня все еще есть проблема интеграции с реактом - я не могу (не знаю как?) отследить старт и окончание рендера дерева, а это нужно что бы забатчить чтение и апдейты атомов во время рендера.

Большинство библиотек реализуют автоматический батчинг - они накапливают изменения и запускают зависимые вычисления через какой-то таймаут / некст тик. Проблема с этим подходом в том что при возникновении ошибки в таких вычислениях не понятно куда ее выбрасывать и кто ее должен перехватывать. Понятно, что должен быть общий onCatch, но правильнее выдать ошибку источнику обновления, что невозможно при прозрачном асинхронном батчинге. Поэтому батчинг в реатоме синхронный и явный.


Недавно, начал писать адаптер для Preact. Это не полная калька с адаптера для реакта, потому что у преакта батчинг есть уже давно, а для обобщенных хуков есть options api. Казалось, что debounceRendering решает мою проблему оборачивания рендеринга в собственный хук, но вылезло две проблемы: 1) пока не понял как добраться до провайдера что бы получить релевантный контекст реатома; 2) этот колбек не вызывается для первого рендера =/

Повторю в сотый раз всю ту же истину реактивного программирования - при вынесении связей в рантайм неизбежно появляются конфликты очередей обслуживающих эти связи. Пока мы не придем к единому стандарту единой очереди (или комплексу правильно связанных очередей) - разработчики библиотек и их пользователи будут страдать от краевых случаев. Но стандарта такого пока не намечается…
🔥8