Size: a a a

2020 October 15

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
Что ты хочешь узнать?
источник

DP

Dmitry Plyaskin in ☄️ effector
что в seq происходит
источник

DP

Dmitry Plyaskin in ☄️ effector
как я понял, в первом mov беруться данные из стора, дальше происходит compute (что то преобразуется?), в check не понятно, что происходит, и потом в mov передается значение в стор (тот же стор, из которого мы брали значение?), с которыми до этого что то произошло?
источник

🦜

🦜 in ☄️ effector
@ZeroBias https://github.com/vercel/next.js/tree/canary/examples/fast-refresh-demo

появилась демка с фаст рефрешем. Может поможет с проблемой обновления
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🦜
@ZeroBias https://github.com/vercel/next.js/tree/canary/examples/fast-refresh-demo

появилась демка с фаст рефрешем. Может поможет с проблемой обновления
спасибо, но желательно пример именно с эффектором. но это конечно уже прогресс)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitry Plyaskin
как я понял, в первом mov беруться данные из стора, дальше происходит compute (что то преобразуется?), в check не понятно, что происходит, и потом в mov передается значение в стор (тот же стор, из которого мы брали значение?), с которыми до этого что то произошло?
check — это два метода-шортхэнда для проверки значения на равенство значению в рефе и на undefined, обычно используются в парах https://github.com/effector/effector/blob/master/src/effector/createUnit.ts#L340
источник

NT

Nikita Tkachuk in ☄️ effector
хитрое решение, но если везде в коде прнатыкать такого - выглядит стремно(

вроде это довольно частая проблема что ошибки в промисах нельзя типизировать, может один дополнительный оверлоад не помешает?) и даже поможет людям узнать как можно типизировать ошибки промисов 🙃, т.к я до недавнего времени вообще не задумывался о том что у нас с ошибками в типах лажа
https://github.com/dhruvrajvanshi/ts-failable
(failable-async)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitry Plyaskin
как я понял, в первом mov беруться данные из стора, дальше происходит compute (что то преобразуется?), в check не понятно, что происходит, и потом в mov передается значение в стор (тот же стор, из которого мы брали значение?), с которыми до этого что то произошло?
в compute вызывается функция, переданная в .on, то есть это само тело связи, её бизнес-логика. дальше идут три метода для апдейта стора, то есть та же функциональность, что и в seq самого стора https://github.com/effector/effector/blob/master/src/effector/createUnit.ts#L376
источник

🚀🚀

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

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
꧁倫太郎 岡部꧂
Что ты хочешь узнать?
он изучает принципы работы ядра эффектора, обсуждение начинается отсюда
источник

꧁岡

꧁倫太郎 岡部꧂... in ☄️ effector
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Tkachuk
хитрое решение, но если везде в коде прнатыкать такого - выглядит стремно(

вроде это довольно частая проблема что ошибки в промисах нельзя типизировать, может один дополнительный оверлоад не помешает?) и даже поможет людям узнать как можно типизировать ошибки промисов 🙃, т.к я до недавнего времени вообще не задумывался о том что у нас с ошибками в типах лажа
https://github.com/dhruvrajvanshi/ts-failable
(failable-async)
ну там же нужно вставлять только последнюю строку, тип можно описать только один раз) в оверлоадах места нет, я уже чекнул(

проблема того, что ошибки нельзя типизировать на самом деле фундаментальна, если честно их действительно не стоит типизировать, и очень хорошо, что в тс по дефолту так нельзя. эффектор всё же даёт такую возможность, потому что ориентирован на реальные кейсы больше, чем на теоретическую корректность 😬 поэтому тут компромиссное решение
источник

NT

Nikita Tkachuk in ☄️ effector
🚀🔬 🚀🔬🚀🔬
ну там же нужно вставлять только последнюю строку, тип можно описать только один раз) в оверлоадах места нет, я уже чекнул(

проблема того, что ошибки нельзя типизировать на самом деле фундаментальна, если честно их действительно не стоит типизировать, и очень хорошо, что в тс по дефолту так нельзя. эффектор всё же даёт такую возможность, потому что ориентирован на реальные кейсы больше, чем на теоретическую корректность 😬 поэтому тут компромиссное решение
а как это нет места для оверлоадов? 🙄
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Tkachuk
а как это нет места для оверлоадов? 🙄
если вставить второй дженерик в оверлоад, то он станет уже имеющимся оверлоадом с двумя аргументами
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
но я кажется нашёл ещё один вариант, сейчас попробую реализовать
источник

DP

Dmitry Plyaskin in ☄️ effector
🚀🔬 🚀🔬🚀🔬
в compute вызывается функция, переданная в .on, то есть это само тело связи, её бизнес-логика. дальше идут три метода для апдейта стора, то есть та же функциональность, что и в seq самого стора https://github.com/effector/effector/blob/master/src/effector/createUnit.ts#L376
а step.update что делает?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitry Plyaskin
а step.update что делает?
записывает апдейт (то, что путешествует сквозь первый аргумент) в реф. это алиас для создания mov

step.update = ({store}) => step.mov({
 from: 'stack',
 to: 'store',
 store
})
источник

NK

ID:0 in ☄️ effector
Репозиторий проекта перемещён в организацию effector, теперь основной адрес — https://github.com/effector/effector
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Nikita Tkachuk
хитрое решение, но если везде в коде прнатыкать такого - выглядит стремно(

вроде это довольно частая проблема что ошибки в промисах нельзя типизировать, может один дополнительный оверлоад не помешает?) и даже поможет людям узнать как можно типизировать ошибки промисов 🙃, т.к я до недавнего времени вообще не задумывался о том что у нас с ошибками в типах лажа
https://github.com/dhruvrajvanshi/ts-failable
(failable-async)
так, короче по ходу удалось реализовать такой вариант:

const apiCallFx = createEffect<typeof apiCall, AxiosError>(apiCall)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
если устраивает, то можно релизить)
источник