13.this指向.html 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. let root = ReactDOM.createRoot(document.getElementById("root"));
  15. function App() {
  16. return (
  17. <Main />
  18. )
  19. }
  20. class Main extends React.Component {
  21. constructor(props) {
  22. super(props);
  23. this.state = {
  24. hi: '哈哈哈哈哈',
  25. aa: '小明'
  26. }
  27. console.log(this)
  28. this.handleHi = this.handleHi.bind(this);
  29. }
  30. handleHi() {
  31. console.log('hi', this)
  32. this.setState({
  33. hi: '哈哈'
  34. })
  35. }
  36. // handleHi=() =>{
  37. // console.log('hi',this)
  38. // this.setState({
  39. // hi:'哈哈'
  40. // })
  41. // }
  42. render() {
  43. console.log(this, 'this')
  44. return (
  45. <div>
  46. <h1>你好</h1>
  47. <h3 onClick={this.handleHi}>{this.state.hi}</h3>
  48. {/*<h3 onClick={this.handleHi.bind(this)}>{this.state.hi}</h3>*/}
  49. <h3 onClick={()=>{
  50. this.setState({
  51. aa:'12'
  52. })
  53. }}>{this.state.aa}</h3>
  54. </div>
  55. )
  56. }
  57. }
  58. root.render(<App />);
  59. </script>
  60. </body>
  61. </html>