7.state.html 1.4 KB

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