Advertisement
Guest User

Untitled

a guest
Aug 5th, 2020
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React from 'react';
  2. import './App.css';
  3. import KeyPadComponent from "./Components/KeyPadComponent";
  4. import ResultComponent from "./Components/ResultComponent";
  5.  
  6.  
  7.  
  8. class App extends React.Component {
  9.   constructor(){
  10.     super();
  11.     this.state = {
  12.       result: ""
  13.     }
  14.   }
  15.  
  16.   onClick = button => {
  17.     if(button === "=")
  18.     {
  19.       this.calculate()
  20.     }
  21.  
  22.     if(button === "C") {
  23.       this.reset()
  24.     }
  25.  
  26.     else
  27.     {
  28.       this.setState({
  29.         result: this.state.result + button
  30.       })
  31.     }
  32.  
  33.   }
  34.  
  35.   calculate = () => {
  36.     var checkResult = ''
  37.     if(this.state.result.includes('--')){
  38.         checkResult = this.state.result.replace('--','+')
  39.     }
  40.  
  41.     else {
  42.         checkResult = this.state.result
  43.     }
  44.  
  45.     try {
  46.         this.setState({
  47.             // eslint-disable-next-line
  48.             result: (eval(checkResult) || "" ) + ""
  49.         })
  50.     } catch (e) {
  51.         this.setState({
  52.             result: "error"
  53.         })
  54.  
  55.     }
  56. };
  57.  
  58.   reset = () => {
  59.     this.setState({
  60.       result: ""
  61.     })
  62.   }
  63.  
  64.   render() {
  65.     return (
  66.       <div className="calc-body">
  67.          <ResultComponent result={this.state.result}/>
  68.          <KeyPadComponent onClick={this.onClick}/>
  69.       </div>
  70.  
  71.     );
  72.   }
  73.  
  74. }
  75.  
  76. export default App;
  77.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement