Tell us what’s happening:
Upon entering any number, any symbol, and any number again, as in a standard basic equation, hitting the equals buttons should, obviously, evaluate the equation and solve it. If you console.log
answer it clearly does that fine. The issue here is setState is not behaving synchronously. Instead of the top display showing
x+y=z and the bottom display only showing
z (the result), as expected, the top shows
x+y= and the bottom shows
What is happening is setState isn’t happening inline with the
math.evaluate() function, and is just doing whatever, later. Even using callbacks in
setState and using
this.forceUpdate() in various places in the function isn’t working.
Any ideas on how I can solve this or work around it?
Your code so far
The issue starts at function
pushMath at line 202
Your browser information:
User Agent is:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36.
Link to the challenge: