Как я могу написать условное заявление, чтобы не повторять определенные значения в калькуляторе React / Redux? - PullRequest
0 голосов
/ 01 октября 2019

Это для freecodecamp.org React / Redux проектов.


Я кодирую калькулятор и прохожу все тесты, кроме # 11 и # 13.

Вот ссылка на тесты, которые мне нужно пройти для этого проекта: https://learn.freecodecamp.org/front-end-libraries/front-end-libraries-projects/build-a-javascript-calculator

Вот часть моего кода, которую я не могу получить правильно:

const calcReducer = (state = calcState, action) => {
  switch(action.type) {
    case 'ADD':
      return{
        ...state,
        value: state.value == 0 ? action.text : state.value + action.text
        }
    case 'OPERATOR': ***//this part is what I think is wrong. Everything else functions how it should***
      return{
        ...state,
        value: action.text == regex + regex ? action.text - regex : state.value = action.text
        }

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

Я ценю любую помощь, которую я могу получить.

Спасибо!

1 Ответ

1 голос
/ 01 октября 2019

Вы изменяете состояние избыточности в этом троичном операторе:

value: action.text == regex + regex ? action.text - regex : state.value = action.text

Последняя часть здесь: state.value = action.text - это состояние мутирования.

Попробуйте изменить егодо:

value: action.text == regex + regex ? action.text - regex : action.text

Также троичный 'ADD' здесь:

value: state.value == 0 ? action.text : state.value + action.text

не требуется. Вы можете сократить его до этого:

value: state.value + action.text

...