Size: a a a

2020 July 05

DS

Dmitriy Shuleshov in ☄️ effector
Ну агонь решение че уж там
источник

DS

Dmitriy Shuleshov in ☄️ effector
Блииин цензура потерла сообщения(((((
источник

DS

Dmitriy Shuleshov in ☄️ effector
Подскажите благодаря каким подходам в эффекторе решена проблема стейл пропс (и зомби чайлд в частности)?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Dmitriy Shuleshov
Подскажите благодаря каким подходам в эффекторе решена проблема стейл пропс (и зомби чайлд в частности)?
благодаря выбору более оптимальных апи: зомби-чайлды ярче всего проявляются в mapStateToProps при использовании с третьим аргументом (пропсами компонента), так как эта функция триггерится стейт-менеджером и тем самым захватывает потенциально устаревшие пропсы
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
благодаря выбору более оптимальных апи: зомби-чайлды ярче всего проявляются в mapStateToProps при использовании с третьим аргументом (пропсами компонента), так как эта функция триггерится стейт-менеджером и тем самым захватывает потенциально устаревшие пропсы
Апи именно биндингов?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
в этом аспекте проблемы да
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
благодаря выбору более оптимальных апи: зомби-чайлды ярче всего проявляются в mapStateToProps при использовании с третьим аргументом (пропсами компонента), так как эта функция триггерится стейт-менеджером и тем самым захватывает потенциально устаревшие пропсы
Те если в mapStateToProps не не предоставляла досутпа к props то и проблемы не было бы?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
плюс пригождается свойство сторов дропать undefined апдейты: неконсистентные состояния склонны возвращать undefined (например при изъятии элемента из списка в сторе), но вместо опасного ретриггера, на выходе будет отсутствие обновления
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
плюс пригождается свойство сторов дропать undefined апдейты: неконсистентные состояния склонны возвращать undefined (например при изъятии элемента из списка в сторе), но вместо опасного ретриггера, на выходе будет отсутствие обновления
const Item = ({id}) => {
 const item = useStoreMap({
   store: items,
   keys: [id],
   fn: items => items.find(e => e.id === id)
 })

 return <div>{item.value}</div>
}
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
при появлении зомби (ситуации, когда items уже обновился, лишившись элемента, но анмаунта компонента ещё не было) в обычном случае была бы ошибка чтения .value из undefined, но с эффектором компонент будет ожидать анмаунта без ререндеров
источник

DS

Dmitriy Shuleshov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
при появлении зомби (ситуации, когда items уже обновился, лишившись элемента, но анмаунта компонента ещё не было) в обычном случае была бы ошибка чтения .value из undefined, но с эффектором компонент будет ожидать анмаунта без ререндеров
Дошло! юзлист же стормап использует
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
ага)
источник

DS

Dmitriy Shuleshov in ☄️ effector
А почему тут не используется store.map ?
источник

DS

Dmitriy Shuleshov in ☄️ effector
А наверное потому что не сбросить подписку?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Вот тут?
источник

🚀🚀

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

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
явное всегда лучше неявного, и тестировать комбинацию clearNode и реакта удовольствие ниже среднего
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
сейчас разницы уже не будет, но это само по себе было достигнуто потому, что clearNode можно было редактировать не оглядываясь ещё и на реакт-кейсы
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
собственно с мапом имплементация была бы даже попроще, без .off и излишнего {deep: true}, но небольшая оптимизация не оправдывает потенциальных проблем в каких-нибудь сложных кейсах с доменами
источник

DS

Dmitriy Shuleshov in ☄️ effector
В случаях когда стор будет принадлежать домену? А что при этом меняется?
источник