12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <script src="./babel.min.js"></script>
- <script src="./react.development.js"></script>
- <script src="./react-dom.development.js"></script>
- </head>
- <body>
- <!-- 单根元素 -->
- <div id="root"></div>
- <script type="text/babel">
- const root = ReactDOM.createRoot(document.getElementById("root"));
- // 创建 挂载 更新 卸载
- // npm install
- // npm uninstall
- class Good extends React.Component {
- constructor(props) {
- // props和state都可以改变页面
- // props只读 不修改
- // state 修改
- super(props);
- this.state = {
- currentTime:new Date(),
- aa:'1111'
- }
- }
- // 挂载
- componentDidMount() {
- console.log("挂载");
- // 更新数据 this.setState({})
- this.timer = setInterval(()=>{
- this.setState({
- currentTime: new Date()
- })
- },1000)
- }
- // 更新 => 数据改变了
- componentDidUpdate() {
- console.log("更新")
- }
- // 销毁
- componentDidUnMount() {
- console.log("销毁")
- clearInterval(this.timer);
- }
- render() {
- return(
- <div>
- <p>{this.state.aa}</p>
- <h1>当前时间:{this.state.currentTime.toLocaleString()}</h1>
- </div>
- )
- }
- }
-
- root.render(<Good/>)
- </script>
- </body>
- </html>
|