Size: a a a

2021 April 08

М

Максим in Svelte [svelt]
Запись не забудьте на будущее
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
тут вопрос спорный) если будут записи, то многие будут лениться ходить на эфир) тогда это уже подкаст, а не голосовой чат
источник

М

Максим in Svelte [svelt]
Не у всех есть время сейчас зайти в голосовой чат. И минусы записи, что нельзя задать вопросы.
источник

AP

Alexander Ponomarev in Svelte [svelt]
Я не очень понимаю где выходит перформанс лучший редакса.

Как я понял атом это какой-то умный селектор результат которого автоматом еще в стейт пишется и из функции вычисления можно еще диспатчить.

Я могу предположить что перформанс появляется в том что мы автоматически знаем что надо перевычислить, но по идее того же можно достигнуть с помощью реселекта или селекторов на проксях.
источник

a

artalar in Svelte [svelt]
Атом автоматом трекает все зависимые экшены и при диспатче экшена трогаются только зависимые атомы.
При диспатче экшена в редаксе трогаются все редусеры и все селекторы (проверяется мемоизация).
источник

a

artalar in Svelte [svelt]
В огромном сторе диспатч чендж инпута, от которого ничего не зависит, для реатома займет одну сотую милисекунды, а для редакса несколько милисекнд, в лучше случае
источник

AP

Alexander Ponomarev in Svelte [svelt]
Ну в редаксе при диспатче экшена который неинтересен каким либо веткам редьюсера они быстро остановятся и вернут тот же самый стейт. Тут можно что-то выиграть, но я хз насколько это существенно.

То что все селекторы перевызовутся для проверки мемоизации да, но тут если селекторы нормально написаны то они тоже быстро остановятся.

Звучит что тут лучший DX который позволяет достигать лучшего перформанса без усилий которые надо принять чтобы достичь того же перформанса на голом редаксе.

В целом я понял. Но возможность апдейтить что-то из таких атомов-селекторов очень сильно смущает, даже если оно реализовано максимально правильно и не ногострельно. В редаксе я могу просто поискать кто ест экшен при этом понятно откуда начать, а тут без визуализации графа вообще можно ничего не понять.
источник

a

artalar in Svelte [svelt]
По перфу все верно. Вопрос автоматизации. В редаксе ты забыл что-то замемоизировать или сделал это плохо (иногда, сложно быстро сделать хорошо) и любой чендж пересоздает ссылку - это больно).

update доступен только для атомов без компьютера, в которых указан инит стейт и все, это не частый кейс для мелких штук. По нормальному нужно писать отдельные экшены и отдельно в колбеке атома (компьютере) подписываться на них, все явно, я думал об этом)
источник

a

artalar in Svelte [svelt]
А ну и вся инфа о связях в будущих девтулзах будет отображаться, конечно.
источник

DK

Dan Kozlov in Svelte [svelt]
Девтулзы сам будешь делать или планируешь раскурить redux dev tools и вклиниться в них?
источник

a

artalar in Svelte [svelt]
В пять раз разница) В реатоме по умолчанию все данные и сторе - подменил стор, получил новые стейты и эффекты с ними
источник

a

artalar in Svelte [svelt]
Редаксовские не проблема подрубить, но они ограничены во многом, по хорошему нужно свои пилить
источник

V

Vetro in Svelte [svelt]
Но ведь это не логично. Непосредственно сам стор должен быть лишь источником информации реактивным, вместо того чтобы пытаться быть всем и сразу
источник

AP

Alexander Ponomarev in Svelte [svelt]
стор сериализуемый или нет?
источник

a

artalar in Svelte [svelt]
Зависит от того что под стором подразумевать
источник

a

artalar in Svelte [svelt]
источник

AP

Alexander Ponomarev in Svelte [svelt]
я имею в виду что функции и Map/Set в стейте стора не хранятся пока я их явно атомом туда не положу?
источник

a

artalar in Svelte [svelt]
++
источник

AP

Alexander Ponomarev in Svelte [svelt]
ну тогда пофигу что там еще в сторе лежит служебное)
источник

a

artalar in Svelte [svelt]
Данные атомов хранятся в викмапе. Отдельно явно хранятся атомы на которые сейчас есть подписки. getState проходится по атомам на которые есть подписки (и их зависимостям), читает их данные из викмапы и пишет в простой объект (у каждого атома есть строковый ключ-индетефикатор) и выплевывает этот объект
источник