Вы изменяете состояние избыточности в этом троичном операторе:
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