7_jsx-事件处理3.html 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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. <!-- 引入文件 *顺序不能改变-->
  8. <!-- 将jsx转为js -->
  9. <script src="./babel.min.js"></script>
  10. <!-- react核心库 -->
  11. <script src="./react.development.js"></script>
  12. <!-- react中的dom操作库 -->
  13. <script src="./react-dom.development.js"></script>
  14. </head>
  15. <body>
  16. <div id="root"></div>
  17. <div id="btn">这是第一个按钮</div>
  18. <!-- this指向:
  19. 方法中this指向当前标签
  20. 改变this指向方法
  21. 1.bind
  22. 2.箭头函数 ()=>{}
  23. -->
  24. <script type="text/babel">
  25. function onClick(){
  26. console.log(this)
  27. }
  28. // 第一种
  29. document.getElementById("btn").onclick = onClick;
  30. var aaa = {name:"My name is dida"};
  31. // 改变this指向 :call apply bind
  32. // 第二种
  33. let element=<div onClick={onClick.bind(aaa)}>这是第二个按钮</div>
  34. let newPath = ReactDOM.createRoot(document.getElementById('root'))
  35. newPath.render(element)
  36. </script>
  37. </body>
  38. </html>