OnPush не выполняет поиск изменений в дереве объектов, если ссылка на объект не изменяется.
prop = { val: 1 };
и в шаблоне
{{ prop.val }}
Если вы используете OnPush
prop.val = 2;
не будет обновлять привязку, поскольку не будет проверять объект на наличие изменений, поскольку это та же ссылка.
Вам необходимо будет использовать
prop = { val: 2 };
Какредуктор в NgRx должен использовать чистые функции, которые не изменяют объекты, но создают новые экземпляры объектов, которые вы должны быть уверены в использовании обнаружения изменений OnPush.
Не идите по пути отравления вашего проекта сумасшествием, котороеложится на путь NgRx. Redux не входит в угловую экосистему. Изучите RxJs и как разрабатывать хорошо сконструированные сервисы с субъектами поведения, и вы также можете использовать OnPush, если ваши субъекты поведения испускают только новые объекты, а не мутирующие объекты. модель государственного управления. Я разговаривал с Майком Райаном из основной команды NgRx несколько недель назад, и мой вопрос был о том, что он думает об этом заблуждении и сколько новичков сразу его используют, его ответом было то, что чрезмерное использование - это то, что нужно командепо адресу.