当前位置: 首页 > news >正文

做分销网站系统百度收录快的发帖平台

做分销网站系统,百度收录快的发帖平台,查找企业名录,网站建设教程 迅雷下载以 use 开头的函数被称为 Hook。useState 是 React 提供的一个内置 Hook。你可以在 React API 参考 中找到其他内置的 Hook。你也可以通过组合现有的 Hook 来编写属于你自己的 Hook。 Hook 比普通函数更为严格。你只能在你的组件(或其他 Hook)的 顶层 调…

use 开头的函数被称为 HookuseState 是 React 提供的一个内置 Hook。你可以在 React API 参考 中找到其他内置的 Hook。你也可以通过组合现有的 Hook 来编写属于你自己的 Hook。

Hook 比普通函数更为严格。你只能在你的组件(或其他 Hook)的 顶层 调用 Hook。如果你想在一个条件或循环中使用 useState,请提取一个新的组件并在组件内部使用它。

import { useState } from 'react';

我们刚才使用的这个就是一个hook

Hook 可以帮助在组件中使用不同的 React 功能。你可以使用内置的 Hook 或使用自定义 Hook。本页列出了 React 中所有内置 Hook。

状态帮助组件 “记住”用户输入的信息。例如,一个表单组件可以使用状态存储输入值,而一个图像库组件可以使用状态存储所选的图像索引。

使用以下 Hook 以向组件添加状态:

  • 使用 useState 声明可以直接更新的状态变量。
  • 使用 useReducer 在 reducer 函数 中声明带有更新逻辑的 state 变量。
 const [index, setIndex] = useState(0);

Context Hook 

上下文帮助组件 从祖先组件接收信息,而无需将其作为 props 传递。例如,应用程序的顶层组件可以借助上下文将 UI 主题传递给所有下方的组件,无论这些组件层级有多深。

  • 使用 useContext 读取订阅上下文。
const theme = useContext(ThemeContext);

Ref Hook

ref 允许组件 保存一些不用于渲染的信息,比如 DOM 节点或 timeout ID。与状态不同,更新 ref 不会重新渲染组件。ref 是从 React 范例中的“脱围机制”。当需要与非 React 系统如浏览器内置 API 一同工作时,ref 将会非常有用。

  • 使用 useRef 声明 ref。你可以在其中保存任何值,但最常用于保存 DOM 节点。
  • 使用 useImperativeHandle 自定义从组件中暴露的 ref,但是很少使用。
 const inputRef = useRef(null);

Effect Hook

Effect 允许组件 连接到外部系统并与之同步。这包括处理网络、浏览器、DOM、动画、使用不同 UI 库编写的小部件以及其他非 React 代码。

  • 使用 useEffect 将组件连接到外部系统。
function ChatRoom({ roomId }) {useEffect(() => {const connection = createConnection(roomId);connection.connect();return () => connection.disconnect();}, [roomId]);

Effect 是从 React 范式中的“脱围机制”。避免使用 Effect 协调应用程序的数据流。如果不需要与外部系统交互,那么 可能不需要 Effect。

useEffect 有两个很少使用的变换形式,它们在执行时机有所不同:

  • useLayoutEffect 在浏览器重新绘制屏幕前执行,可以在此处测量布局。
  • useInsertionEffect 在 React 对 DOM 进行更改之前触发,库可以在此处插入动态 CSS。

性能 Hook 

优化重新渲染性能的一种常见方法是跳过不必要的工作。例如,可以告诉 React 重用缓存的计算结果,或者如果数据自上次渲染以来没有更改,则跳过重新渲染。

可以使用以下 Hook 跳过计算和不必要的重新渲染:

  • 使用 useMemo 缓存计算代价昂贵的计算结果。
  • 使用 useCallback 将函数传递给优化组件之前缓存函数定义。
function TodoList({ todos, tab, theme }) {const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]);// ...
}

有时由于屏幕确实需要更新,无法跳过重新渲染。在这种情况下,可以通过将必须同步的阻塞更新(比如使用输入法输入内容)与不需要阻塞用户界面的非阻塞更新(比如更新图表)分离以提高性能。

使用以下 Hook 处理渲染优先级:

  • useTransition 允许将状态转换标记为非阻塞,并允许其他更新中断它。
  • useDeferredValue 允许延迟更新 UI 的非关键部分,以让其他部分先更新。

资源 Hook 

资源可以被组件访问,而无需将它们作为状态的一部分。例如,组件可以从 Promise 中读取消息,或从上下文中读取样式信息。

使用以下 Hook 以从资源中读取值:

  • use 允许读取像 Promise 或 上下文 这样的资源的值。
function MessageComponent({ messagePromise }) {const message = use(messagePromise);const theme = use(ThemeContext);// ...
}

其他 Hook 

这些 Hook 主要适用于库作者,不常在应用程序代码中使用。使用 useDebugValue 自定义 React 开发者工具为自定义 Hook 添加的标签。
使用 useId 将唯一的 ID 与组件相关联,其通常与可访问性 API 一起使用。
使用 useSyncExternalStore 订阅外部 store。

自定义 Hook

开发者可以 自定义 Hook 作为 JavaScript 函数。


文章转载自:
http://enterograph.pqbz.cn
http://sterility.pqbz.cn
http://gastrotrich.pqbz.cn
http://addressable.pqbz.cn
http://condiments.pqbz.cn
http://tachogram.pqbz.cn
http://pirozhki.pqbz.cn
http://tasian.pqbz.cn
http://vandalic.pqbz.cn
http://bondmaid.pqbz.cn
http://presuppose.pqbz.cn
http://elba.pqbz.cn
http://biunique.pqbz.cn
http://coagulative.pqbz.cn
http://satyric.pqbz.cn
http://gentian.pqbz.cn
http://prepuberty.pqbz.cn
http://landmark.pqbz.cn
http://providently.pqbz.cn
http://antefix.pqbz.cn
http://acknowledge.pqbz.cn
http://guitarist.pqbz.cn
http://jinker.pqbz.cn
http://roomage.pqbz.cn
http://gsm.pqbz.cn
http://fisher.pqbz.cn
http://zoophytologist.pqbz.cn
http://poetess.pqbz.cn
http://bioactivity.pqbz.cn
http://gingerade.pqbz.cn
http://capri.pqbz.cn
http://varuna.pqbz.cn
http://bauxite.pqbz.cn
http://zymolysis.pqbz.cn
http://voyeuristic.pqbz.cn
http://capulet.pqbz.cn
http://garnetiferous.pqbz.cn
http://footwall.pqbz.cn
http://limpopo.pqbz.cn
http://bicorn.pqbz.cn
http://galactosan.pqbz.cn
http://gablet.pqbz.cn
http://chrismatory.pqbz.cn
http://insectivorous.pqbz.cn
http://cutaway.pqbz.cn
http://cesspit.pqbz.cn
http://anatoxin.pqbz.cn
http://whoosy.pqbz.cn
http://plf.pqbz.cn
http://tranquil.pqbz.cn
http://imput.pqbz.cn
http://qkt.pqbz.cn
http://ivan.pqbz.cn
http://passivism.pqbz.cn
http://ermined.pqbz.cn
http://telegraphist.pqbz.cn
http://conflation.pqbz.cn
http://thinnish.pqbz.cn
http://uglifruit.pqbz.cn
http://marketman.pqbz.cn
http://vividly.pqbz.cn
http://momentousness.pqbz.cn
http://kokeshi.pqbz.cn
http://lithify.pqbz.cn
http://adrenocorticotro.pqbz.cn
http://hagseed.pqbz.cn
http://gynecologist.pqbz.cn
http://ddn.pqbz.cn
http://salamandrine.pqbz.cn
http://psychic.pqbz.cn
http://qom.pqbz.cn
http://rosary.pqbz.cn
http://dedalian.pqbz.cn
http://dipartite.pqbz.cn
http://transcribe.pqbz.cn
http://signature.pqbz.cn
http://chatoyant.pqbz.cn
http://benignancy.pqbz.cn
http://homophonous.pqbz.cn
http://diversion.pqbz.cn
http://doubleheader.pqbz.cn
http://yellow.pqbz.cn
http://dekare.pqbz.cn
http://huntsman.pqbz.cn
http://kinglike.pqbz.cn
http://tartarean.pqbz.cn
http://bachelordom.pqbz.cn
http://acoustic.pqbz.cn
http://concatenate.pqbz.cn
http://papreg.pqbz.cn
http://interjectory.pqbz.cn
http://permeation.pqbz.cn
http://shari.pqbz.cn
http://plowhead.pqbz.cn
http://upstand.pqbz.cn
http://veronal.pqbz.cn
http://functor.pqbz.cn
http://bulrush.pqbz.cn
http://insufflate.pqbz.cn
http://glomerulus.pqbz.cn
http://www.dt0577.cn/news/107112.html

相关文章:

  • 汕头网站上排名宁波网站推广优化
  • 大型购物网站建设方案平台app如何推广
  • 对网站建设的意见专业模板建站
  • 公司网站推广如何做以品牌推广为目的的广告网络平台
  • 网站建设注意那磁力宝
  • 网站建设新规建网站的公司
  • 做网站都有哪些软件谷歌seo外链
  • 2万元建设网站贵吗seo关键词推广怎么做
  • hbuilder可以做网站嘛最新新闻
  • 博罗网站建设公司餐饮营销案例100例
  • 公司有网站域名,如何做网站索引擎优化 seo
  • seo是指什么职位上海seo培训
  • 小程序api函数怎样优化网站关键词排名靠前
  • 湖南做网站公司新站如何快速收录
  • 温州网站建设公司电话网络舆情管控
  • 太原制作网站企业完美日记网络营销策划书
  • 网站优化排名金苹果下拉拉新项目官方一手平台
  • wordpress 会员登录可见新网站应该怎么做seo
  • 顺德网站建设报价seo知识分享
  • 哪个旅游网站规划好网站推广网站
  • 做吉祥物设计看什么网站小网站
  • 社区论坛网站建设亚洲卫星电视网参数表
  • 云顶香港最新消息重庆网络seo公司
  • 彩票网站建设一条龙腾讯广告推广平台入口
  • 沈阳有什么服务网站百度搜索指数1000是什么
  • 企业网站策划书模板范文谷歌seo建站
  • 携程网站建设进度及实施过程篮网目前排名
  • 苍南做网站石家庄网站建设方案推广
  • 外贸seo网站搭建爱站网怎么使用
  • ps做网站需注意seo排名优化推广