14.ref.html 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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="./babel.min.js"></script>
  8. <script src="./react.development.js"></script>
  9. <script src="./react-dom.development.js"></script>
  10. </head>
  11. <body>
  12. <div id="root"></div>
  13. <script type="text/babel">
  14. const root = ReactDOM.createRoot(document.getElementById("root"));
  15. function App() {
  16. // import {router} from 'useRouter'
  17. // ref绑定
  18. // 1.在定义部分 声明 ref名字 来自于 React.createRef()里
  19. // 2.在元素部分 需要使用ref={名字}
  20. // 返出类型:{current:绑定的ref元素}
  21. const countRef = React.createRef();
  22. const inpRef = React.createRef();
  23. function getMain() {
  24. console.log("走进来")
  25. console.log(countRef,'countRef');
  26. console.log(inpRef,'inpRef');
  27. }
  28. return (
  29. <div>
  30. <p onClick={getMain}>哈哈哈</p>
  31. <Count ref={countRef}/>
  32. <input type="text" ref={inpRef} />
  33. </div>
  34. )
  35. }
  36. class Count extends React.Component {
  37. constructor() {
  38. super();
  39. this.state= {
  40. a:"1",
  41. b:"你好"
  42. }
  43. }
  44. render() {
  45. return (
  46. <h1>我是一个计数器</h1>
  47. )
  48. }
  49. }
  50. root.render(<App/>)
  51. </script>
  52. </body>
  53. </html>