Size: a a a

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

2020 April 14

IA

Ilya Agarkov in Reatom — стейт-менеджер
сами атомы создаются так
export function declareList(name) {
 const addAction = declareAction([`${name} add`]);
 const removeAction = declareAction([`${name} delete`]);
 const editAction = declareAction([`${name} edit`]);

 const data = declareAtom(name, {}, on => [
   on(addAction, (list, data) => {
     return {
       ...list,
       [data.id]: data
     };
   }),
   on(removeAction, (list, id) => {
     delete list[id];
     return { ...list };
   }),
   on(editAction, (list, { id, data }) => {
     return {
       ...list,
       [id]: data
     };
   })
 ]);

 const ids = declareAtom([`${name} ids`], [], on => [
   on(addAction, (list, payload) => [...list, payload.id]),
   on(removeAction, (list, payload) => list.filter(id => id !== payload))
 ]);

 function edit(id, data) {
   return editAction({
     id,
     data
   });
 }

 function add(data) {
   return addAction(data);
 }

 const list = combine({
   ids,
   data
 });

 list.add = add;
 list.remove = removeAction;
 list.edit = edit;

 return list;
}
источник

a

artalar in Reatom — стейт-менеджер
Закинь на гист плз 👀
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
источник

a

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

IA

Ilya Agarkov in Reatom — стейт-менеджер
смоотреть в libs
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
только что увидел что один тест написан не правильно =( Полезно делится кодом
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
Кстати, есть какой-то способ перенданый аргумент это атом?
источник

a

artalar in Reatom — стейт-менеджер
getIsAtom 🙂
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
artalar
getIsAtom 🙂
это в core?
источник

a

artalar in Reatom — стейт-менеджер
ага
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
круто - спасибо
источник

IA

Ilya Agarkov in Reatom — стейт-менеджер
чет кажется проще взять сам normalizr и поверх него уже реализовать все)
источник

a

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

IA

Ilya Agarkov in Reatom — стейт-менеджер
ну да. Нужно только придумать как из скрестить. Пока думал повторить минимум из того что он умеет но с пивязкой к атомам, но на деле получается что постоянно подглядываешь в реализацию normalizr  и что-то от туда берешь)
источник

I

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

a

artalar in Reatom — стейт-менеджер
Расскажи подробнее 🙂
источник

a

artalar in Reatom — стейт-менеджер
Был редакс или что?
источник

I

Ilyas Kabirov in Reatom — стейт-менеджер
источник

I

Ilyas Kabirov in Reatom — стейт-менеджер
хочу для начала все перевести на реатом, не переписывая структуры
источник

I

Ilyas Kabirov in Reatom — стейт-менеджер
а потом постепенно поработать над архитектурой
источник