Size: a a a

2020 November 09

OR

Oleg Rizhkov in ☄️ effector
Переслано от Oleg Rizhkov
источник

OR

Oleg Rizhkov in ☄️ effector
Переслано от Oleg Rizhkov
источник

NB

Not Dan, But... in ☄️ effector
Danila
Берём таки эффектор в продукт, ура
Что за продукт?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Vetro
да, есть, но мне нужно не все сторы ресеттить
const formGroup = rootDomain.createDomain()

formGroup.onCreateStore(store => {
 store.reset(resetEvent)
})

export const name = formGroup.createStore('guest')

export const age = formGroup.createStore(18)
источник

ф

фильтруй мысли... in ☄️ effector
Oleg Rizhkov
Переслано от Oleg Rizhkov
need help. как лучше сделать?
есть юзер - большой объект, есть несколько ивентов, которые его изменяют и сохраняют. это нормальный паттерн? сложно объяснить... есть ли смысл делать такое?
Если вы собираетесь хранить в сторе объект и изменять какие-то его части, то вам, скорее всего, нужно декомпозировать такой объект. Вынесите в отдельные сторы те части, которые планируете изменять, чтобы работать с ними атомарно:

const profile = {
  name: 'Joe',
  isLogged: true,
  balance: 99,
}

const $name = createStore('');
const $isLogged = createStore(false);
const $balance = createStore(0);

Атомарные сторы проще обновлять, объединять и вычислять из них производные данные. Пропадает необходимость в написании селекторов и их мемоизации. Данные нормализуются и устраняется избыточность за счёт создания вычисляемых сторов. Благодаря пропуску лишних обновлений в сторах и батчингу повышается эффективность.
источник

V

Vetro in ☄️ effector
🚀🔬 🚀🔬🚀🔬
const formGroup = rootDomain.createDomain()

formGroup.onCreateStore(store => {
 store.reset(resetEvent)
})

export const name = formGroup.createStore('guest')

export const age = formGroup.createStore(18)
о, даже так можно
источник

V

Vetro in ☄️ effector
интересненько
источник

ф

фильтруй мысли... in ☄️ effector
Oleg Rizhkov
Переслано от Oleg Rizhkov
need help. как лучше сделать?
есть юзер - большой объект, есть несколько ивентов, которые его изменяют и сохраняют. это нормальный паттерн? сложно объяснить... есть ли смысл делать такое?
Если вы храните в сторе объект со вложенной структурой, то при него обновлении вам придется копировать свойства из одного объекта в другой на каждом уровне вложенности, чтобы достичь иммутабельности.
источник

OR

Oleg Rizhkov in ☄️ effector
фильтруй мысли
Если вы собираетесь хранить в сторе объект и изменять какие-то его части, то вам, скорее всего, нужно декомпозировать такой объект. Вынесите в отдельные сторы те части, которые планируете изменять, чтобы работать с ними атомарно:

const profile = {
  name: 'Joe',
  isLogged: true,
  balance: 99,
}

const $name = createStore('');
const $isLogged = createStore(false);
const $balance = createStore(0);

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

m

mg901 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
const formGroup = rootDomain.createDomain()

formGroup.onCreateStore(store => {
 store.reset(resetEvent)
})

export const name = formGroup.createStore('guest')

export const age = formGroup.createStore(18)
Здесь же всё равно будет происходить очищение всех сторов по ивенту? Или я не прав?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
mg901
Здесь же всё равно будет происходить очищение всех сторов по ивенту? Или я не прав?
да, я просто развернул мысль в конкретный пример кода
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Oleg Rizhkov
в этом есть смысл, но изначально такая мысль пошла от того, что при обновлении бека нужно отправлять весь объект. и тогда можно было бы сделать вот так
можно класть в source объект со сторами, сэмпл сам сделает combine
источник

ф

фильтруй мысли... in ☄️ effector
Oleg Rizhkov
в этом есть смысл, но изначально такая мысль пошла от того, что при обновлении бека нужно отправлять весь объект. и тогда можно было бы сделать вот так
Если вам необходимо создать стор с объектом, поля которого будут содержать значения из других сторов, то воспользуйтесь функцией combine:

const $profile = combine({
 name: $name,
 isLogged: isLogged,
 balance: $balance,
})
источник

m

mg901 in ☄️ effector
@ZeroBias сори. Кнопки расшатались на маке. Правильно ли я понимаю. Хуки домена и интерсепторы axios по сути одна и та же абстракция?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🤨
источник

🦜

🦜 in ☄️ effector
🚀🔬 🚀🔬🚀🔬
const formGroup = rootDomain.createDomain()

formGroup.onCreateStore(store => {
 store.reset(resetEvent)
})

export const name = formGroup.createStore('guest')

export const age = formGroup.createStore(18)
Только хотел написать, чтобы домен юзал
источник

m

mg901 in ☄️ effector
mg901
@ZeroBias сори. Кнопки расшатались на маке. Правильно ли я понимаю. Хуки домена и интерсепторы axios по сути одна и та же абстракция?
^
источник

m

mg901 in ☄️ effector
только названия разные?
источник

🦜

🦜 in ☄️ effector
mg901
@ZeroBias сори. Кнопки расшатались на маке. Правильно ли я понимаю. Хуки домена и интерсепторы axios по сути одна и та же абстракция?
Интерсептор это перехватчик
источник

🦜

🦜 in ☄️ effector
Перехватчик перед чем-либо
источник