не уверен, если уместно здесь.

я есть действие и редуктор, который обновляет глобальный счетчик. Это действие запускается на быстром интервале. Редуктор возвращает новую копию состояния для каждого действия. Редуктор выглядит так:

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

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

Я используюreact-redux«sconnect метод на различных компонентах React. Не все компоненты заботятся об этом счетчике петель. Поскольку я возвращаю новое состояние в редукторе на каждом тике, все компоненты подписаныconnect получить ихmapDispatchToProps выполняется, что вызывает ненужные вызовы рендеринга React.

Один из этих компонентов выглядит так:

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


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

Хотя этот компонент не зависит отstate.loop это вызвано, чтобы повторно сделать. Это вызывает повторную визуализацию, избыточную визуализацию, многократную визуализацию, ненужную визуализацию, проблемы с производительностью и неожиданное поведение компонентов, которые не требуют повторной визуализации.

Обновить Я должен также, возможно, добавить, что яне с помощьюcombineReducers здесь и все редукторы применяются до полного состояния. Не уверен, если это уместно.

Ответы на вопрос(3)

Ваш ответ на вопрос