10
0

13.ref.html 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 语法浏览器不识别 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">
  16. </div>
  17. <script type="text/babel">
  18. let root = ReactDOM.createRoot(document.getElementById("root"));
  19. /**
  20. * ref绑定:
  21. * 1.在定义部分 声明 ref名字 来自于React.createRef()里
  22. * 2.在元素部分 需要 使用 ref={xxx}
  23. * 3.输出: {current:绑定ref的元素}
  24. */
  25. const countRef = React.createRef();
  26. const inpRef = React.createRef();
  27. function App() {
  28. function getMain() {
  29. console.log(inpRef,"点击了 获取内容",countRef)
  30. }
  31. return (
  32. <div>
  33. <p onClick={getMain}>我是函数组件</p>
  34. <Count ref={countRef} />
  35. <input type="text" ref={inpRef} />
  36. </div>
  37. )
  38. }
  39. class Count extends React.Component {
  40. constructor() {
  41. super();
  42. this.state = {
  43. num:20
  44. }
  45. }
  46. render(){
  47. return (
  48. <h1>显示数值:{this.state.num}</h1>
  49. )
  50. }
  51. }
  52. root.render(<App/>)
  53. </script>
  54. </body>
  55. </html>