React 计算器 - 等号逻辑

React Calculator - Equal Sign Logic

大家好,我需要一些关于我正在为 freecodecamp 工作的 React 计算器测试项目的帮助,这是我目前的代码:https://codepen.io/mav1283/pen/VGLxJy?editors=0010

evalEquation(){
    const {equation, calculations, output,operatorFlag,equalsFlag} = this.state;
    const finalEquation = equation.replace(/\x/g,'*').replace(/\÷/g,'/');
    const answer = String(math.eval(finalEquation));

    if(equalsFlag === false){
      this.setState({
        equation: answer,
        output: answer,
        equalsFlag: true
      });
    } 

    this.playAudio();
  }

我想出了每次点击等号时如何计算输入方程式,但我很难尝试解决或设置背后的逻辑,以便每次输入数字时它都会替换初始值值,但如果我输入运算符,它将重新使用旧的计算值

我还没有添加 % 和 positive/negative 功能,我会在了解等号背后的逻辑后立即添加。另外上面的状态显示是临时的,所以我可以看到每个动作的变化。需要帮助谢谢!

所以您已经完成了大部分工作以获得您想要的。我没有详细查看您的代码,我只是在没有真正理解它或检查副作用的情况下,让它按照您的意愿去做,但这应该给您一个起点:Updated codepen

此外,由于您使用的是 Babel,所以这个功能很酷。您不需要将 this 显式绑定到所有 class 函数。您可以只使用 class 箭头函数。请参阅我添加的 resetState 函数。