反应计算器-等号逻辑

时间:2018-08-29 07:11:31

标签: javascript reactjs codepen

大家好,我需要为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();
  }

我想出了每当我击中等号时如何计算输入方程,但是我很难解决或设置逻辑,因此每次我输入数字时它将替换初始值,但是如果我输入运算符,它将重用旧的计算值

我还没有添加%功能和正/负功能,一旦逻辑等号后面的逻辑就添加了。上面的状态显示也是临时的,因此我可以看到每个动作的变化。需要帮助谢谢!

1 个答案:

答案 0 :(得分:1)

因此,您已经完成了大部分工作来获得想要的东西。我没有详细研究您的代码,只是在没有真正理解它或检查副作用的情况下就将其弯曲以完成您想要的操作,但这应该为您提供一个起点:Updated codepen

由于您使用的是Babel,所以功能也很酷。您无需将this显式绑定到所有类函数。您可以只使用类箭头功能。请参阅我添加的resetState函数。