Добрый день, не могу разобраться в проблеме и понять в чем дело.
useSelector(state => state.dashboard);
Возвращает каждый раз "новый" объект, и выполняется повторный рендер.
state.dashboard
не изменяется (изменяются другие части стора, редюсеры - чистые, все как и должно быть) в redux devtool видно что dashboard не изменяется,
Dashboard в state имеет интерфейс:
interface DashboardState {
from: Date;
to: Date;
}
Почему селектор возвращает новый объект?
Ведь я беру значения из store, не создавая нового объекта.
Если добавить
shallowEqual
, то все нормально и работает как и должно, никаких ре-рендеров
Либо если возвращать не целый объект, а все его части:
const from = useSelector(state => state.dashboard.from);
const to = useSelector(state => state.dashboard.to);
Все работает, но почему state.dashboard меняется, понять я не могу