Size: a a a

2021 February 27

О

Олег in ☄️ effector
Aleksandr Osipov
Обьединить несколько сторов и на их основе вычислить новое состояние
можеь привести пример где без комбайна будет хуже чем с ним?
источник

AO

Aleksandr Osipov in ☄️ effector
Олег
можеь привести пример где без комбайна будет хуже чем с ним?
Речь исключительно про реакт?
источник

О

Олег in ☄️ effector
Aleksandr Osipov
Речь исключительно про реакт?
ага
источник

AO

Aleksandr Osipov in ☄️ effector
Ну не используй раз не хочешь
источник

AO

Aleksandr Osipov in ☄️ effector
Прямо сейчас пример с лишними ререндерами увы не приведу
источник

AO

Aleksandr Osipov in ☄️ effector
Олег
подскажите зачем эффектору combine если можно вызывать несколько сторов в компоненте ?
Вопрос просто подразумевает что комбайн якобы только для реакта нужен, это не так
источник

AO

Aleksandr Osipov in ☄️ effector
В целом обычная практика иметь несколько useStore в компонент
источник

З

Завтра in ☄️ effector
Олег
подскажите зачем эффектору combine если можно вызывать несколько сторов в компоненте ?
щас бы судить только по использованию в реакт-компонентах
источник

З

Завтра in ☄️ effector
как минимум ты можешь скомбайнить поля формы в один стор и отправлять их по событию сабмита
источник

О

Олег in ☄️ effector
Завтра
как минимум ты можешь скомбайнить поля формы в один стор и отправлять их по событию сабмита
а почему бы не держать поля формы в одном сторе?
источник

З

Завтра in ☄️ effector
затем, что удобнее и профитнее держать пачку маленьких сторов, чем городить монолиты
источник

З

Завтра in ☄️ effector
const nameFieldChanged = createEvent()
const passwordFieldChanged = createEvent()
const submitPressed = createEvent()

const $name = restore(nameFieldChanged, "")
const $password = restore(passwordFieldChanged, "")

const $loginForm = combine({ name: $name, password: $password })

sample({
 source: $loginForm,
 clock: submitPressed,
 target: login
})
источник

З

Завтра in ☄️ effector
Потом делаешь
const NameField = () => {
 return <Input value={useStore($name)} onChange={nameFieldChanged} />
}

И вся форма не ререндерится на каждый пук
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
а почему бы не держать поля формы в одном сторе?
Обновлять не удобно
источник

c⁣

createStore<🦉>... in ☄️ effector
Атомарные значения обновлять легко. А постоянно пересоздавать обьект не оч
источник

О

Олег in ☄️ effector
createStore<🦉> ⁣
Атомарные значения обновлять легко. А постоянно пересоздавать обьект не оч
понял. но это разве не решается каким нибудь иммером?
источник

c⁣

createStore<🦉>... in ☄️ effector
Олег
понял. но это разве не решается каким нибудь иммером?
Тащить иммер ради этого?
источник

c⁣

createStore<🦉>... in ☄️ effector
А если нужно сложить несколько разных сторов в один?
источник

c⁣

createStore<🦉>... in ☄️ effector
list[id]
источник

c⁣

createStore<🦉>... in ☄️ effector
$selected = combine($currentId, $list, (id, list) => list[id])
источник