Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>React</title>
  7. <script crossorigin src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
  8. <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
  9. <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
  10. </head>
  11. <body>
  12. <div id="root"></div>
  13. <script type="text/babel">
  14.  
  15. class Button extends React.Component {
  16.  
  17. constructor(props){
  18. super(props);
  19. this.state = {mass: "", height: "", bmi: ""}
  20. }
  21. componentDidMount = () => {
  22. console.log('Componen did mount')
  23. }
  24.  
  25. changeMass = event => {
  26. this.setState({mass: event.target.value})
  27. this.calcBmi()
  28. }
  29.  
  30. changeHeight = event => {
  31. this.setState({height: event.target.value})
  32. this.calcBmi()
  33. }
  34.  
  35.  
  36. calcBmi = () => {
  37. this.setState({bmi: this.state.mass / (this.state.height * this.state.height).toFixed(2)})
  38. }
  39.  
  40.  
  41. render = () => {
  42. return (<div>
  43. <h1>Bmi Calculator</h1>
  44. <p>Give weight</p>
  45. <input
  46. type="text"
  47. value={this.state.mass}
  48. onChange={this.changeMass}
  49. />
  50. <p>Give height</p>
  51. <input
  52. type="text"
  53. value={this.state.height}
  54. onChange={this.changeHeight}
  55. />
  56. <p value={this.state.bmi} onChange={this.calcBmi}>Your BMI is: {this.state.bmi}</p>
  57. </div>)
  58. }
  59.  
  60. }
  61. ReactDOM.render(
  62. <Button bmi=""/>, document.getElementById('root')
  63. )
  64. </script>
  65. </body>
  66. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement