8.state.html 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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>Document</title>
  7. <script src="../js/babel.min.js"></script>
  8. <script src="../js/react.development.js"></script>
  9. <script src="../js/react-dom.development.js"></script>
  10. </head>
  11. <body>
  12. <div id="root"></div>
  13. <script type="text/babel">
  14. class MyComponent extends React.Component {
  15. state = {
  16. title: '',
  17. count: 0
  18. }
  19. handleAdd() {
  20. this.setState({
  21. count: this.state.count + 1
  22. })
  23. }
  24. printCount() {
  25. console.log(this.state.count)
  26. }
  27. handleReduce = () => {
  28. this.setState({
  29. count: this.state.count - 1
  30. })
  31. }
  32. render() {
  33. return (
  34. <div>
  35. <h1>{this.state.title}</h1>
  36. <p>当前数值: {this.state.count}</p>
  37. <button onClick={this.handleAdd.bind(this)}>+</button>
  38. <button onClick={this.handleReduce}>-</button>
  39. </div>
  40. )
  41. }
  42. }
  43. let element = <MyComponent/>
  44. ReactDOM.createRoot(document.querySelector('#root')).render(element)
  45. </script>
  46. </body>
  47. </html>