Size: a a a

2020 November 17

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
введение в эвенты начинается с первых страниц, интересно, что фундаментальные принципы применимы и к фронту и вообще говоря они многое объясняют
источник

A

Aleksey in ☄️ effector
всем привет, в useStoreMap хочу достать по id элемент
const boat = useStoreMap({
   store: $items,
   keys: [itemId],
   fn: (items, [id]) => items(({ id }) => id === itemId),
 });

но вылетает ошибка: Uncaught Error: current state can't be undefined, use null instead
Дело в том, что $items по дефолту пустой массив и я делаю createEffect на уровень выше.
Нужно использовать (ite
ms(({ id }) => id === itemId) || {} или
лучше использовать useStore и потом доставать нужный item?
источник

AO

Aleksandr Osipov in ☄️ effector
Не может в сторе быть undefined
источник

AO

Aleksandr Osipov in ☄️ effector
fn не должна возвращать undefined
источник

AO

Aleksandr Osipov in ☄️ effector
items это что вообще?
источник

AO

Aleksandr Osipov in ☄️ effector
Кажется что это массив, но тогда не понятно почему он вызывается как callable в fn
источник

AO

Aleksandr Osipov in ☄️ effector
если вам надо в useStoreMap получить элемент из массива, то надо в fn что-то вроде того: (items, [id]) => items.find(item=> item.id === id) ?? null
источник

AO

Aleksandr Osipov in ☄️ effector
в вашем случае в замыкании fn вообще нет itemId переменной
источник

AO

Aleksandr Osipov in ☄️ effector
да и вызов items() выглядит ошибочным, так как скорее всего в $items массив
источник

AO

Aleksandr Osipov in ☄️ effector
const boat = useStoreMap({
 store: $items,
 keys: [itemId],
 fn: (items, [id]) => items.find(item => item.id === id) ?? null
})
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksey
всем привет, в useStoreMap хочу достать по id элемент
const boat = useStoreMap({
   store: $items,
   keys: [itemId],
   fn: (items, [id]) => items(({ id }) => id === itemId),
 });

но вылетает ошибка: Uncaught Error: current state can't be undefined, use null instead
Дело в том, что $items по дефолту пустой массив и я делаю createEffect на уровень выше.
Нужно использовать (ite
ms(({ id }) => id === itemId) || {} или
лучше использовать useStore и потом доставать нужный item?
пустой объект возвращать в случае если не найдено значение - плохая идея, как минимум нет простой возможности различить ситуации когда объект пустой или не пустой
источник

AO

Aleksandr Osipov in ☄️ effector
лучше явно null или значение
источник

m

makoven in ☄️ effector
Здравствуйте. Зашел спросить, готов ли уже forest для практического использования?
источник

A

Aleksey in ☄️ effector
Aleksandr Osipov
лучше явно null или значение
Окей, items это массив. Спасибо за совет
источник

AO

Aleksandr Osipov in ☄️ effector
makoven
Здравствуйте. Зашел спросить, готов ли уже forest для практического использования?
Смотря какие критерии
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksey
Окей, items это массив. Спасибо за совет
чекните вариант с useStoreMap что я привел
источник

YL

Yan👀 Lobaty in ☄️ effector
makoven
Здравствуйте. Зашел спросить, готов ли уже forest для практического использования?
Если говорить формально релиза 1.0 еще нет)
источник

AO

Aleksandr Osipov in ☄️ effector
Aleksandr Osipov
Смотря какие критерии
Я сейчас собираюсь взять его для утилиты генерации документации
источник

m

makoven in ☄️ effector
Aleksandr Osipov
Смотря какие критерии
Каких фич лишусь, если перейду на него с реакта?
источник

AO

Aleksandr Osipov in ☄️ effector
makoven
Каких фич лишусь, если перейду на него с реакта?
Лишиься геморя с ререндерами
источник