reack Hooks

Hooks简单来说就是来解决函数式组件没有state和生命周期的问题

先引入

import { useState, useEffect,useNavigate,useLocation,useSearchParams,useParams ,useMemo,useContext} from 'react';

1.useState
声明初始值state

 const [msg, setMsg] = useState('你好UseState')

改变state,直接调用setMsg

setMsg('修改msg')

2.useEffect

是个函数,第一个参数是个回调函数,第二个函数是监听的数据,是个数组

检测数据更新,想检测哪个数据更新,就把变量写到数组中

当要检测的是页面中的所有变量,两个选择
1.把所有变量都写到数组里面
2.直接删掉数组

不想检测页面中任何数据的更新,可以直接给个空数组

  // useEffect(() => {
    //  console.log('检测数据跟新,刚进页面触发');
    // },[msg])

3.useLocation
获取路由路径,也可以获取到路由跳转时携带的参数

4.useNavigate
页面跳转,可以携带参数

  const naviate = useNavigate()
  naviate('页面路径',{
      state: {
        useraname: '66',
        usernum: 66
      }
    })

5.useParams
获取路径中的参数

6.useSearchParams

获取路径中的参数

  const [searchParams] = useSearchParams();
  console.log(searchParams.getAll('参数名'));

7.useMemo

子组件不受父组件更新影响

8.useContext

块级格式化上下文,非父子组件传值用的

猜你喜欢

转载自blog.csdn.net/slow097/article/details/127066440
今日推荐