Size: a a a

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

2021 March 24

S

Sergey in Reatom — стейт-менеджер
Maksim Sharov
верно?
Да
источник

M

Maksim Sharov in Reatom — стейт-менеджер
Sergey
Да
я уточняю, так как показалось, что не уловил суть мемоизации в реатом

а в этом случае как?

const periodSelector = map(asaAtom, s => s.dateEnd + 1)
источник

S

Sergey in Reatom — стейт-менеджер
Maksim Sharov
я уточняю, так как показалось, что не уловил суть мемоизации в реатом

а в этом случае как?

const periodSelector = map(asaAtom, s => s.dateEnd + 1)
Примитивы хранятся по значения а не по ссылкам и если это выражение привлдится к числу, то мемоизируется
источник

M

Maksim Sharov in Reatom — стейт-менеджер
Sergey
Примитивы хранятся по значения а не по ссылкам и если это выражение привлдится к числу, то мемоизируется
вот, про примитивы есть.

а в случае,  когда в поле хранится не примитив. мемоизация будет если возвращаем значение как есть?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
shallowCopy выге кто-то говорил
источник

S

Sergey in Reatom — стейт-менеджер
Maksim Sharov
вот, про примитивы есть.

а в случае,  когда в поле хранится не примитив. мемоизация будет если возвращаем значение как есть?
Будет
источник

S

Sergey in Reatom — стейт-менеджер
Sergey
Будет
Значение не меняется
источник

M

Maksim Sharov in Reatom — стейт-менеджер
как понимаю, девтулы пока не обладают таким функционалом, но как можно смотреть, какие атомы перевычисляются?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
кроме console.log
источник

S

Sergey in Reatom — стейт-менеджер
Maksim Sharov
как понимаю, девтулы пока не обладают таким функционалом, но как можно смотреть, какие атомы перевычисляются?
Не знаю. Но обычно проблем нет, если какой-то то сложный селектор, то можно подписаться на него и консолить
источник

M

Maksim Sharov in Reatom — стейт-менеджер
Sergey
Не знаю. Но обычно проблем нет, если какой-то то сложный селектор, то можно подписаться на него и консолить
спасибо за все ответы
источник

Е

Евгений in Reatom — стейт-менеджер
Maksim Sharov
как понимаю, девтулы пока не обладают таким функционалом, но как можно смотреть, какие атомы перевычисляются?
хорошее замечание
источник

S

Sergey in Reatom — стейт-менеджер
Как я понимаю во второй версии  то что мы обсуждали будем на много проще и оптимальнее
источник

M

Maksim Sharov in Reatom — стейт-менеджер
Sergey
const periodSelector = combine([map(asaAtom, s => s.dateStart), map(asaAtom, s => s.dateEnd)]
так, решил еще раз перечитать раздел про мемоизацию

https://reatom.js.org/#/guides/migration-from-redux?id=selectors

вот, тут вычисляется же
источник

a

artalar in Reatom — стейт-менеджер
Иван
или сделать вычисляемый атом

const newAtom = map(
asaAtom,
({dateStart, dateEnd}) =>
 ({dateStart, dateEnd})
)

const { dateStart, dateEnd } = useAtom(newAtom);
Не, подписка осуществляется на изменение возвращаемого значения. В этом примере newAtom подписывается на любое изменение asaAtom, и возвращает каждый раз новый объект, так что его подписка, выходит, будет реагировать на любое изменение asaAtom
источник

Е

Евгений in Reatom — стейт-менеджер
т.е. в данном кейсе толкь освой атом писать который и будет проверить изменилось или нет?
источник

M

Maksim Sharov in Reatom — стейт-менеджер
artalar
Не, подписка осуществляется на изменение возвращаемого значения. В этом примере newAtom подписывается на любое изменение asaAtom, и возвращает каждый раз новый объект, так что его подписка, выходит, будет реагировать на любое изменение asaAtom
как присходит мемоизация?

мы тут выше говорили, что если возвращать значение как есть, все мемоизируется

а вот в доке вычисления происходят https://reatom.js.org/#/guides/migration-from-redux?id=selectors
источник

M

Maksim Sharov in Reatom — стейт-менеджер
Переслано от Sergey
const periodSelector = combine([map(asaAtom, s => s.dateStart), map(asaAtom, s => s.dateEnd)]
источник

M

Maksim Sharov in Reatom — стейт-менеджер
и @SReflex предложил еще такой вариант
источник

S

Sergey in Reatom — стейт-менеджер
Мы рассматривали частный случай, когда какие-то поля атома меняются. А в доке другой случай
источник