web前端全系列 教程
1839个小节阅读:2243.8k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
当我们想在两个或者多个函数之间共享逻辑时,我们会把它提取到第三个函数中。这实现共享逻辑的第三个函数就是Hook
use
开头。xxxxxxxxxx
//自定义的hook
import { useEffect, useState } from "react";
export default function useUserInfo(){
const [userInfo,setUserInfo]=useState({})
useEffect(()=>{
const info=JSON.parse(localStorage.getItem('userInfo'))
setUserInfo(info)
},[])
return [userInfo,setUserInfo]
}
使用自定义的Hook
xxxxxxxxxx
import React from 'react';
import useUserInfo from '../components/useUserInfo'
export default function User() {
const [userInfo,setUserInfo]=useUserInfo()
return (
<div>
<h3>我是第一个使用自定义Hook的组件</h3>
{userInfo.name}
<button onClick={()=>setUserInfo({name:'百战111'})}>更改用户信息</button>
</div>
);
}
xxxxxxxxxx
import React from 'react';
import useUserInfo from '../components/useUserInfo';
export default function User1() {
const [userInfo,setUserInfo]=useUserInfo()
return (
<div>
<h3>我是第二个调用自定义hook的组件</h3>
{userInfo.name}
<button onClick={()=>setUserInfo({name:'百战222'})}>更改用户</button>
</div>
);
}
实时效果反馈
1. 下面说法错误的是:
A 自定义的Hook是一个函数
B 自定义的Hook函数名要以use
开头
C 自定义Hook用来在多个组件间共享逻辑
D 自定义Hook用来在多个组件间共享state
答案
1=>D