react--常见hook

news/2024/7/15 18:38:57 标签: react.js, javascript, 前端

useState:

  • 用于在函数组件中添加状态。
  • 示例:
javascript">import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={() => setCount(count + 1)}>Increment</button>
    </div>
  );
}

useEffect:

  • 用于在函数组件中执行副作用操作,如数据获取、订阅等。
  • 示例:
javascript">import React, { useState, useEffect } from 'react';

function ComponentWithEffect() {
  useEffect(() => {
    // 执行一些副作用操作

    return () => {
      // 在组件卸载时清除副作用
      // 例如取消订阅、清除定时器等
    };
  }, []); // 依赖为空数组,表示只在组件挂载时执行一次,依赖项有值,依赖项有变化则触发

  return <p>Component with effect</p>;
}

useMemo:

  • 用于在渲染过程中对计算昂贵的值进行记忆化,以提高性能。
  • 示例:
javascript">import React, { useMemo } from 'react';

function MemoizedComponent({ a, b }) {
  const result = useMemo(() => {
    // 执行一些计算
    return a + b;
  }, [a, b]); // 依赖数组,只有当 a 或 b 改变时才重新计算

  return <p>Result: {result}</p>;
}

useRef:

  • 创建一个可变的 ref 对象,用于保存组件中的可变值。
  • 示例:
javascript">import React, { useRef } from 'react';

function TextInputWithFocusButton() {
  const inputEl = useRef(null);
  const focusInput = () => {
    inputEl.current.focus();
  };

  return (
    <div>
      <input ref={inputEl} type="text" />
      <button onClick={focusInput}>Focus the input</button>
    </div>
  );
}

useCallback:

  • 用于在组件重新渲染时,缓存回调函数。
  • 示例:
javascript">import React, { useState, useCallback } from 'react';

function Counter() {
  const [count, setCount] = useState(0);
  const increment = useCallback(() => {
    setCount(prevCount => prevCount + 1);
  }, []);

  return (
    <div>
      <p>Count: {count}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
}


http://www.niftyadmin.cn/n/5474688.html

相关文章

文心一言指令词宝典之咨询分析篇

作者&#xff1a;哈哥撩编程&#xff08;视频号、抖音、公众号同名&#xff09; 新星计划全栈领域优秀创作者博客专家全国博客之星第四名超级个体COC上海社区主理人特约讲师谷歌亚马逊演讲嘉宾科技博主极星会首批签约作者 &#x1f3c6; 推荐专栏&#xff1a; &#x1f3c5;…

产品经理功法修炼(2)之专业技能

点击下载《产品经理功法修炼(2)之专业技能》 产品经理功法修炼(1)之自我管理 产品经理功法修炼(2)之专业技能 产品经理功法修炼(3)之产品设计 产品经理功法修炼(4)之产品管理 产品经理功法修炼(5)之团队管理 1. 前言 产品经理的能力修炼并非局限于某一技能的…

使用Springfox Swagger实现API自动生成单元测试

目录 第一步&#xff1a;在pom.xml中添加依赖 第二步&#xff1a;加入以下代码&#xff0c;并作出适当修改 第三步&#xff1a;在application.yaml中添加 第四步&#xff1a;添加注解 第五步&#xff1a;运行成功之后&#xff0c;访问相应网址 另外&#xff1a;还可以导出…

Vue3 自定义指令Custom Directives

简介 在vue中重用代码的方式有&#xff1a;组件、组合式函数。组件是主要的构建模块&#xff0c;而组合式函数更偏重于有状态的逻辑。 指令系统给我们提供了例如&#xff1a;v-model、v-bind&#xff0c;vue系统允许我们自定义指令&#xff0c;自定义指令也是一种重用代码的方式…

ssm028蜀都天香酒楼的网站设计与实现+jsp

基于JSP的蜀都天香酒楼管理系统的设计与实现 摘要 近年来&#xff0c;信息化管理行业的不断兴起&#xff0c;使得人们的日常生活越来越离不开计算机和互联网技术。首先&#xff0c;根据收集到的用户需求分析&#xff0c;对设计系统有一个初步的认识与了解&#xff0c;确定蜀都…

违法解除劳动合同——典型案例

目录 什么是违法解除劳动合同&#xff1f; 用人单位负举证责任 典型案例 案例&#xff1a;指导案例180号——违法解除劳动合同 案例&#xff1a;浙江省杭州市中级⼈⺠法院——违纪案例 案例&#xff1a;浙江省杭州市中级⼈⺠法院——违纪案例(不服从工作安排) 案例&#…

力扣 ---组合总和

题目&#xff1a; 给定一个无重复元素的正整数数组 candidates 和一个正整数 target &#xff0c;找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。 candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同&#xff0c;则两种组合是不同的。…

中科大发布Agent-FLAN,微调提升Agent能力

随着大语言模型&#xff08;LLMs&#xff09;在各种自然语言处理任务中取得巨大成功&#xff0c;将这些模型作为智能代理&#xff08;agents&#xff09;使用时&#xff0c;它们与基于API的模型相比仍有不小的差距。如何将代理能力有效地整合到通用的LLMs中&#xff0c;成为了一…