加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【React 资料备份】React Hook

发布时间:2020-12-15 20:33:34 所属栏目:百科 来源:网络整理
导读:Hooks是React16.8一个新增项,是我们可以不用创建class组件就能使用状态和其他React特性 准备工作 升级react、react-dom npm i react react-dom -S 状态钩子 State Hook 创建HooksTest.js import React,{ useState } from "react";export default function H

Hooks是React16.8一个新增项,是我们可以不用创建class组件就能使用状态和其他React特性

准备工作

  • 升级react、react-dom

    npm i react react-dom -S

状态钩子 State Hook

  • 创建HooksTest.js

    import React,{ useState } from "react";
    
    export default function HooksTest() {
      // useState(initialState),接收初始状态,返回一个状态变量和其更新函数
      const [count,setCount] = useState(0);
      return (
        <div>
          <p>You clicked {count} times</p>
          <button onClick={() => setCount(count + 1)}>Click me</button>
        </div>
      );
    }

    更新函数类似setState,但它不会整合新旧状态

  • 声明多个状态变量

    export default function HooksTest() {
      const [age,setAge] = useState(42);
      const [fruit,setFruit] = useState('banana');
      const [todos,setTodos] = useState([{ text: 'Learn Hooks' }]);
      return (
        <div>
          <p>年龄 {age}</p>
          <p>水果 {fruit}</p>
          <ul>
              {todos.map(todo=><li key={todo.text}>{todo.text}</li>)}
          </ul>
        </div>
      );
    }

副作用钩子 Effect Hook

  • 更新HooksTest.js

    import React,{ useState,useEffect } from "react";
    useEffect(() => {
      // Update the document title using the browser API
        document.title = `您点击了 ${count} 次`;
    });

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读