Size: a a a

Reatom — стейт-менеджер

2020 May 24

r

rezed in Reatom — стейт-менеджер
Хотел посмотреть, как выглядят эти изменения на гитхабе, но что-то не нашел коммита
источник
2020 May 25

н#

не ты зло, а moment.... in Reatom — стейт-менеджер
artalar
НЕ ДЕПЛОЙТЕ ПРОД В ПЯТНИЦУ ВЕЧЕРОМ
это правило #1 у девопсеров кмк)
источник

a

artalar in Reatom — стейт-менеджер
О том и речь)
источник

a

artalar in Reatom — стейт-менеджер
rezed
Хотел посмотреть, как выглядят эти изменения на гитхабе, но что-то не нашел коммита
ПР весит - Next
источник

a

artalar in Reatom — стейт-менеджер
Я бы его смержил, да что-то на интеграционном уровне в тестах реакта сломал. Попозже зафикшу
источник

IB

Ivan Berger in Reatom — стейт-менеджер
Всем доброго дня! Подскажите кто может. Целый день не могу разобраться как организовать такую схему.
Есть реакт. Есть компонент, куда поступает массив (может быть разного размера) данных и по этому массиву строятся кнопки (каждая с уникальным ID) внутри этого компонента. У каждой кнопки при клике планируется менять css-класс. Для этого в каждой кнопке я подписался на атом и при клике вызываю action. Сам вопрос: как мне можно организовать хранение/добавление/изменение/удаление css-класса через один atom и один action, но с каким-то своим, уникальным для каждой кнопки ID ? Весь мозг себе уже сломал. Помогите пожалуйста понять как такое можно организовать. Спасибо заранее!
источник

a

artalar in Reatom — стейт-менеджер
Ivan Berger
Всем доброго дня! Подскажите кто может. Целый день не могу разобраться как организовать такую схему.
Есть реакт. Есть компонент, куда поступает массив (может быть разного размера) данных и по этому массиву строятся кнопки (каждая с уникальным ID) внутри этого компонента. У каждой кнопки при клике планируется менять css-класс. Для этого в каждой кнопке я подписался на атом и при клике вызываю action. Сам вопрос: как мне можно организовать хранение/добавление/изменение/удаление css-класса через один atom и один action, но с каким-то своим, уникальным для каждой кнопки ID ? Весь мозг себе уже сломал. Помогите пожалуйста понять как такое можно организовать. Спасибо заранее!
Привет. Вот такой пример понятен и решает задачу?
https://codesandbox.io/s/reatom-useatomstate-j8idi?file=/src/hooks.js
источник

a

artalar in Reatom — стейт-менеджер
Правда useMemo не стабилен 🤔 подумаю чем заменить
источник

IB

Ivan Berger in Reatom — стейт-менеджер
Спасибо за пример! Я немного отстал от реакта и пока "плаваю" в новых хуках. В частности useMemo пока для меня неведомый фрукт. Сейчас почитаю доку по нему, чтобы полностью понять Ваш пример  :)
источник

a

artalar in Reatom — стейт-менеджер
Ivan Berger
Спасибо за пример! Я немного отстал от реакта и пока "плаваю" в новых хуках. В частности useMemo пока для меня неведомый фрукт. Сейчас почитаю доку по нему, чтобы полностью понять Ваш пример  :)
Ну идея в том что можно при маунте компонента создавать новый атом прям в хуке
источник

IB

Ivan Berger in Reatom — стейт-менеджер
artalar
Ну идея в том что можно при маунте компонента создавать новый атом прям в хуке
я так и подозревал, что каждая кнопка должна работать со своим отдельных атомом, но никак не мог понять как динамически их создавать.
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
Ivan Berger
Всем доброго дня! Подскажите кто может. Целый день не могу разобраться как организовать такую схему.
Есть реакт. Есть компонент, куда поступает массив (может быть разного размера) данных и по этому массиву строятся кнопки (каждая с уникальным ID) внутри этого компонента. У каждой кнопки при клике планируется менять css-класс. Для этого в каждой кнопке я подписался на атом и при клике вызываю action. Сам вопрос: как мне можно организовать хранение/добавление/изменение/удаление css-класса через один atom и один action, но с каким-то своим, уникальным для каждой кнопки ID ? Весь мозг себе уже сломал. Помогите пожалуйста понять как такое можно организовать. Спасибо заранее!
можно хранить данные в нормализованном виде. Тогда хватит одного атома и одного экшена
источник

r

rezed in Reatom — стейт-менеджер
artalar
Правда useMemo не стабилен 🤔 подумаю чем заменить
В каком плане не стабилен?
источник

I

Ilyas Kabirov in Reatom — стейт-менеджер
не гарантирует что данные будут всегда замоизированы, кэш может быть сброшен когда это реакту вздумается
источник

a

artalar in Reatom — стейт-менеджер
+ это в доке даже описано. И в этом случае это совсем не подходит для динамического создания атома, потому что его пересоздание - это сброс стейта (если ключ не задан явно)
источник

r

rezed in Reatom — стейт-менеджер
Ого, не знал
источник

r

rezed in Reatom — стейт-менеджер
Вот почему там реф юзался
источник
2020 May 26

КН

Котяй Негодяй... in Reatom — стейт-менеджер
А почем у нет sample? Или здесь это иначе решается?
источник

a

artalar in Reatom — стейт-менеджер
Котяй Негодяй
А почем у нет sample? Или здесь это иначе решается?
По факту его нет, да, решается через getState.
источник

a

artalar in Reatom — стейт-менеджер
Вообще в планах сделать, но есть парочка эдж-кейсов,которые я не придумал как красиво решить
источник