Size: a a a

2020 October 22

c⁣

createStore<🦉>... in ☄️ effector
Dmitriy Shuleshov
Просто потому что почему бы ей не удалится или проверено опытным путем?
Дима писал что гарантирует
источник

DS

Dmitriy Shuleshov in ☄️ effector
createStore<🦉> ⁣
Дима писал что гарантирует
супер
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
createStore<🦉> ⁣
Я тут сделал простенькое сравнение производительности рендеринга больших списков, на React vs Forest

https://stackblitz.com/edit/react-pcej7i
https://share.effector.dev/8fgB2Nrr
это не реалистичное сравнение, сделай нормальные жирные компоненты)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
разница проявляется когда кода становится действительно много
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
если каждый компонент рендерится 3ms, то в реакте рендеринг списка на 100 элементов повесит браузер на четверть секунды, форест начнёт рендерить уже через 20ms
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
смысл асинхронности рендеринга в том что синхронный рендеринг накладывает жёсткое ограничение на масштабируемость кода
источник

DS

Dmitriy Shuleshov in ☄️ effector
Дим а демки глянешь? В чем проблема?
источник

c⁣

createStore<🦉>... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если каждый компонент рендерится 3ms, то в реакте рендеринг списка на 100 элементов повесит браузер на четверть секунды, форест начнёт рендерить уже через 20ms
ога
реакт вешает всё
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitriy Shuleshov
Дим а демки глянешь? В чем проблема?
где-то в логике темплейтов, тут надо плотно исследовать чтобы сказать наверняка
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
у темплейтов изначально нет никакого поведения, всё что формирует форест — это воссозданное поведение, через вот такие вот итерации вида «сделали что-то → нашли различия с ожидаемым поведением → поправили абстрактные законы темплейтов которые задают принципы работы»
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
это примерно так же как появлялись сторы — попробовали сделать, увидели что кажется дубликаты апдейтов должны пропускаться, добавили правило на этот случай

только в форесте этих правил намного больше
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
к примеру у эвентов естественным образом появилось всплытие
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
к примеру у эвентов естественным образом появилось всплытие
если у элемента list апдейтнулся стор, то это апдейт одного стора одного элемента
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если у элемента list апдейтнулся стор, то это апдейт одного стора одного элемента
если стор в элементе листа создаётся через мап от стора извне, то при обновлении этого внешнего стора происходит по одному апдейту стора на каждый элемент списка — апдейты умножились
источник
2020 October 23

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если стор в элементе листа создаётся через мап от стора извне, то при обновлении этого внешнего стора происходит по одному апдейту стора на каждый элемент списка — апдейты умножились
если стор в элементе листа подписан на клик, то при срабатывании клика происходит один апдейт одного стора
при этом если на этот же стор поступает апдейт извне, то это по одному апдейту стора на каждый элемент списка
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
если стор в элементе листа подписан на клик, то при срабатывании клика происходит один апдейт одного стора
при этом если на этот же стор поступает апдейт извне, то это по одному апдейту стора на каждый элемент списка
const user = createStore('guest')

list(items, () => {
 const click = createEvent()
 const count = createStore(0)
   .on(click, x => x + 1)

 const content = combine(
   count, user,
   (count, user) => `${user} clicked ${count} times`)
 )

 h('button', {
   handler: {click},
   text: content
 })
})
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
при апдейте user, content ведёт себя как лист сторов (умножение апдейтов), а при срабатывании click, count ведёт себя как один стор, как следствие и content тоже
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
в чём разница между апдейтами от стора извне и от эвента изнутри?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
апдейты спускаются снаружи в элементы списка
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
к примеру у эвентов естественным образом появилось всплытие
следовательно эвенты всплывают
источник