Size: a a a

Reatom — стейт-менеджер

2021 February 21

a

artalar in Reatom — стейт-менеджер
По моему опыту с преакта на реакт норм прыгать, а обратно может что-то вылезти
источник

y

ymdev in Reatom — стейт-менеджер
Ilya Agarkov
у меня проект есть,  где в dev режиме react а в prod preact (как раз с reatom) - так вродне норм. C сентября в проде - полет нормальный
Неее. Я как-то уже споткнулся об это. По-моему, preact не смог loadable-components заставить работать.
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
ymdev
Неее. Я как-то уже споткнулся об это. По-моему, preact не смог loadable-components заставить работать.
loadable-components на проекте тоже есть
источник

y

ymdev in Reatom — стейт-менеджер
Ilya Agarkov
loadable-components на проекте тоже есть
а у меня он не смог(
Пришлось пилить руками динамическую подгрузку компонентов и отдельно для SSR читать файл, генерируемый webpack'ом и создавать preload, prefetch линки.

Но плюс все же получился в том, что неминифицированная версия на клиенте весила всего 2кб
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
ymdev
а у меня он не смог(
Пришлось пилить руками динамическую подгрузку компонентов и отдельно для SSR читать файл, генерируемый webpack'ом и создавать preload, prefetch линки.

Но плюс все же получился в том, что неминифицированная версия на клиенте весила всего 2кб
странно) так как у нас как раз был loadable-components ssr webpack
источник
2021 February 22

y

ymdev in Reatom — стейт-менеджер
Ilya Agarkov
странно) так как у нас как раз был loadable-components ssr webpack
Я нашел свою поделку, откатился по коммитам.
Ошибка выглядела так
Error: [object Object] is not a valid HTML tag name in <[object Object] value="[object Object]">
     at t (.../node_modules/preact-render-to-string/dist/index.js:1:3947)

В куске на стороне сервера
import render from 'preact-render-to-string'
...
...
 const extractor = new ChunkExtractor({...})
 const jsx = extractor.collectChunks(
   <Layout />
 )
 const html = render(jsx)
источник

y

ymdev in Reatom — стейт-менеджер
ymdev
Я нашел свою поделку, откатился по коммитам.
Ошибка выглядела так
Error: [object Object] is not a valid HTML tag name in <[object Object] value="[object Object]">
     at t (.../node_modules/preact-render-to-string/dist/index.js:1:3947)

В куске на стороне сервера
import render from 'preact-render-to-string'
...
...
 const extractor = new ChunkExtractor({...})
 const jsx = extractor.collectChunks(
   <Layout />
 )
 const html = render(jsx)
Но сейчас я уже разобрался, как это пофиксить. Я просто когда сервер собирал, я все зависимости помечал как externals. Ну и react в preact не превращался, т.к. сборки не было.
источник
2021 February 25

a

artalar in Reatom — стейт-менеджер
Буду спамить вам в консоль 👀
(надо бы сделать настраиваемым мб)
источник

И

Иван in Reatom — стейт-менеджер
artalar
Буду спамить вам в консоль 👀
(надо бы сделать настраиваемым мб)
Кмк, too often и инкрементальный счётчик слабо связаны между собой, как считаешь?
источник

a

artalar in Reatom — стейт-менеджер
Иван
Кмк, too often и инкрементальный счётчик слабо связаны между собой, как считаешь?
не понял
источник

И

Иван in Reatom — стейт-менеджер
artalar
не понял
Ну “too often” — это про частоту. А инкрементальный счётчик — про количество
источник

a

artalar in Reatom — стейт-менеджер
Иван
Ну “too often” — это про частоту. А инкрементальный счётчик — про количество
Я подразумеваю что getState вообще лучше не использовать, но доупскаю что это может понадобиться пару раз
источник

a

artalar in Reatom — стейт-менеджер
Но можно и поменять. Я пока прост накидываю всякие штуки в код
источник

NS

Nikita Stenin in Reatom — стейт-менеджер
Вот меня как-то смущает то, что предупреждение показывается, если я вызвал getState больше 5 раз, но при этом мог вызывать его раз в час условно.
источник

NS

Nikita Stenin in Reatom — стейт-менеджер
artalar
Я подразумеваю что getState вообще лучше не использовать, но доупскаю что это может понадобиться пару раз
Возможно тогда так и написать, типо используйте getState без аргументов только если вам это действительно нужно и вы знаете что делаете. И рекомендовать использовать с атомом
источник

И

Иван in Reatom — стейт-менеджер
artalar
Я подразумеваю что getState вообще лучше не использовать, но доупскаю что это может понадобиться пару раз
Ну а если getState используется в обработчике, который вызывается регулярно раз в пять минут? :)
источник

a

artalar in Reatom — стейт-менеджер
ну давайте пока так)
источник
2021 February 26

ДК

Дмитрий К in Reatom — стейт-менеджер
Ты так заспамишь консоль сообщениями и она начнёт тормозить. Один и тот же варнинг лучше выводить лишь один раз.
источник

IR

Ingrid Raines in Reatom — стейт-менеджер
@artalar я правильно понимаю, что атомы комбайнятся автоматически?
источник

ДК

Дмитрий К in Reatom — стейт-менеджер
Можно выводить как-то так:

counter.count ++
if( counter.count === 3 ) console.warn( 'getState called ', counter, 'times' )

При разворачивании counter консоль покажет актуальное значение каунтера.
источник