Redux initialState - получить сумму из других атрибутов

Я только начинаю с response-redux, и я столкнулся с проблемой, которая не была проблемой с простой реакцией и состоянием в компонентах.

У меня есть редуктор с initialState следующим образом:

Redux initialState - получить сумму из других атрибутов

так что да, я знаю, что я только объявляю состояние, и он не имеет представления о других атрибутах (или о чем-то в этом роде: P).

Обработчики действий работают, состояние меняется, но я не могу заставить total: дать мне своего рода уравнение.

Кто-нибудь может указать мне правильное направление? как заставить что-то подобное работать? возможно ли это даже из initialState?

Как вы представляете себе upgradeOne? Они существуют только как ключи в объекте - вы относитесь к ним как к переменным.

Dave Newton 25.11.2018 00:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
1
88
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Не помещайте в состояние что-то, что можно вычислить из другого значения. Это не имеет ничего общего с редукцией. Вычислите общую сумму в функции рендеринга. Или перейдите в отдельную функцию, например

totalClickPower() {
  const {upgradeOne, upgradeTwo} = this.props.clickPower
  return 1 + upgradeOne + upgradeTwo
}

render() {
  return <div>{this.totalClickPower()}</div>
}

Может быть так, что react и redux не имеют к этому никакого отношения. Это просто JS: вероятно, ваше свойство total получит начальное значение ( 1 + undefined + undefined )

Другие вопросы по теме