Как то обидно было что мое решение запутанное((
Думал раз мое такое, то открою код а там пару строк((( пару часов вникал своими мозгами уточки.
Вот переделал твой пример. Корректно работает? Так как ты ожидал?
https://share.effector.dev/vmdjSFm6Кстати в случае использовании хука, когда компонент в котором используется селектнутый стор маунтишь\анмаунтишь перевыполняется мап, о чем говорит растущий счетчик в колонке. Как мне кажется это нужно как-то решать. В моем решении кажется именно этого бага нету.
Идея
conditionMap
в том что он принимает стор, колбек для выборки и буллевый стор. Выполняет пересчет псевдомапнутого стора только когда буллевый стор === true. В примере выше я поставил стор
$showSelector
, но для изначального вопроса удобно поставлять Gate.status. Насколько я вижу можно еще расширить этот метод поставляемыми сторами от
Gate.state
, что б покрыть keys от
useStoreMap
.
@ZeroBias будет интересно твое мнение, где я накосячил. И если нет то зачем понадобился стор мап