¿Cómo limitar la actualización de react-redux connect re-renders a ramas de estado específicas?

Tengo una acción y un reductor que actualiza un contador global. Esta acción se dispara en un intervalo rápido. El reductor devuelve una nueva copia del estado para cada acción. El reductor se ve así:

import { handleActions } from 'redux-actions';
import { sceneTick } from './actions';

export default (state, action) => handleActions({
  [sceneTick]: (state, action) => {
    return {
      ...state,
      loop: action.payload,
    }
  },

estoy usandoreact-redux'sconnect método en varios componentes React. No todos los componentes se preocupan por este contador de bucles. Como estoy devolviendo un nuevo estado en el reductor en cada marca, todos los componentes se suscribieron conconnect obtener sumapDispatchToProps ejecutado, lo que provoca llamadas de representación innecesarias.

Uno de estos componentes se ve así:

const mapStateToProps = (state, props) => {
  return {
    viewport: state.viewport,
    assets: state.assets,
  };
};


export default connect(mapStateToProps, {})(Component)

Aunque este componente no depende destate.loop se activa para volver a renderizar. Esto provoca una nueva representación, una representación excesiva, una representación múltiple, una representación innecesaria, problemas de rendimiento y un comportamiento inesperado en componentes que no necesitan volver a representarse.

Actualizar También debería agregar que soyno utilizandocombineReducers aquí y todos los reductores se aplican al estado completo. No estoy seguro si es relevante.

Respuestas a la pregunta(3)

Su respuesta a la pregunta