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

计算机程序设计网站开发模具厂咋做网站

计算机程序设计网站开发,模具厂咋做网站,番禺人才网招聘网官网,有哪些可以做兼职翻译的网站一、基础 Hooks 1、useState - 状态管理 useState 是 React 提供的一个函数,用来在函数组件中声明和修改状态,没有它,函数组件只是一个“静态模板”;有了它,函数组件可以保存和更新数据(比如计数器数值、输…

一、基础 Hooks

1、useState - 状态管理

        useState 是 React 提供的一个函数,用来在函数组件中声明和修改状态,没有它,函数组件只是一个“静态模板”;有了它,函数组件可以保存和更新数据(比如计数器数值、输入框内容)

import { useState } from 'react';function Counter() {// 1. 声明一个状态变量 count,初始值为 0// 2. setCount 是修改 count 的专用函数const [count, setCount] = useState(0);return (<div><p>当前计数:{count}</p>{/* 点击按钮时,调用 setCount 修改 count 的值 */}<button onClick={() => setCount(count + 1)}>+1</button></div>);
}

2、useEffect - 副作用处理

        Effect Hook 可以让我们在函数组件中执行副作用操作。当我们在 React 更新 DOM 之后想运行一些额外的代码,比如发送网络请求、手动变更 DOM,记录日志可以使用Effect Hook,可以把 useEffect看做 componentDidMount,componentDidUpdate 的结合

        基本结构:

useEffect(() => {// 副作用逻辑(如发送请求、操作 DOM)return () => {// 清理函数(如取消订阅、移除事件监听、关闭定时器)};
}, [依赖数组]); // 控制副作用何时执行
        三种常见用法:

(1)依赖数组为空,只在组件初始时执行一次(类似 componentDidMount

useEffect(() => {console.log('组件加载完成!');fetch('https://api.example.com/data') // 发送请求.then(response => response.json()).then(data => console.log(data));return () => {console.log('组件卸载时会执行这里!');};
}, []); // 依赖数组为空,表示不依赖任何变量,只执行一次

(2)传入特定依赖项,初始+依赖项变化时执行(类似 componentDidUpdate

const [userId, setUserId] = useState(1);useEffect(() => {console.log('userId 变化时重新请求数据');fetch(`https://api.example.com/users/${userId}`).then(response => response.json()).then(data => console.log(data));
}, [userId]); // 当 userId 变化时,重新执行副作用

(3)没有依赖项,初始+每次渲染后执行

useEffect(() => {console.log('每次渲染后都会执行!');
}); // 没有依赖数组,每次渲染后都执行

        清除副作用:在useEffect中编写的由渲染本身引起的对接组件外部的操作,社区也经常把它叫做副作用操作,比如在useEffect中开启了一个定时器,我们想在组件卸载时把这个定时器再清理掉,这个过程就是清理副作用,该函数会在组件卸载时自动执行

import { useState, useEffect } from 'react';
function App() {const [show, setShow] = useState(true)return (<div className="App">{show && <Son />}<button onClick={() => setShow(false)}>卸载Son组件</button></div>);
}function Son() {useEffect(() => {const timer = setInterval(() => {console.log('定时器运行中');}, 1000)return () => {clearInterval(timer) // 组件卸载时自动执行}}, [])return (<div>this is son</div>)
}

二、自定义Hooks

        自定义Hook是以 use 打头的函数,通过自定义Hook函数可以用来实现逻辑的封装和复用

        不使用自定义hooks实现点击按钮切换组件显示:

function App() {const [value, setValue] = useState(true)const toggle = () => {setValue(!value)}return (<div className="App"><button onClick={toggle}>toggle</button>{value && <div>this is div</div>}</div>);
}

      使用自定义hooks实现点击按钮切换组件显示:

function App() {// const [value, setValue] = useState(true)// const toggle = () => {//   setValue(!value)// }const {value, toggle} = useToggle()return (<div className="App"><button onClick={toggle}>toggle</button>{value && <div>this is div</div>}</div>);
}// 自定义hooks
function useToggle() {// 可复用的逻辑代码const [value, setValue] = useState(true)const toggle = () => {setValue(!value)}// 哪些状态和回调函数需要在其他组件中使用,就returnreturn {value,toggle}
}

三、Hooks规则

  • 只在 React 函数组件或自定义 Hooks 的顶层调用
  • 不可在条件语句或循环中使用 Hooks


文章转载自:

http://CkvdlG0M.qczyz.cn
http://9hP4eSCt.qczyz.cn
http://9qVj2loo.qczyz.cn
http://QBUNT6zt.qczyz.cn
http://oySImApY.qczyz.cn
http://BpPJCdkD.qczyz.cn
http://PLICgZvQ.qczyz.cn
http://JhBXE1JL.qczyz.cn
http://9i9sGzCl.qczyz.cn
http://wsr8kNbX.qczyz.cn
http://ECsTlGMU.qczyz.cn
http://E9PQH3rw.qczyz.cn
http://sQBGI1pp.qczyz.cn
http://4bNJe9ZL.qczyz.cn
http://7SWyB6OM.qczyz.cn
http://TpOihTps.qczyz.cn
http://DtNdAe98.qczyz.cn
http://5cqvyuMo.qczyz.cn
http://VTqoShty.qczyz.cn
http://D5PL9cnT.qczyz.cn
http://cKj59HgY.qczyz.cn
http://JwHQxWp2.qczyz.cn
http://dLEULjM5.qczyz.cn
http://Z9NtqgXG.qczyz.cn
http://jMFNkzqj.qczyz.cn
http://cOUrJiL6.qczyz.cn
http://KGhL8rSj.qczyz.cn
http://MmJvcAMB.qczyz.cn
http://PPvxASnv.qczyz.cn
http://w4RraKKK.qczyz.cn
http://www.dtcms.com/wzjs/727439.html

相关文章:

  • 小程序怎么进入公众号百度搜索引擎关键词优化
  • 乐都网站建设多少钱网页设计优化网站建设可以吗
  • 博山做网站公司科技型中小企业税收优惠政策2022
  • 集约化网站建设方案装修设计公司公司价格表
  • 网站内容设置站长源码论坛
  • 网站建设捌金手指下拉二七重庆网络推广网站
  • 建设厅注册中心网站考试报名费缴费网站服务器知识
  • 聊城做网站公司网站正在备案中
  • 网站建设公司讯息深圳网站建设排名
  • 电子平台网站建设百度怎样建立网站链接
  • 南宁市两学一做网站游戏推广是干什么的
  • 泾县网站建设网站查询域名入口
  • 计算机网站开发专业如何出售自己的域名
  • 三门峡做网站公司wordpress 工单系统
  • 建设公司网站报价免费看舆情网站
  • 苏州市住房建设局网站做游戏网站赚钱吗
  • 如何运行asp网站网站建设流程报价
  • 做环评工作的常用网站福州志愿者官方网站怎么做
  • 新泰网站设计成都口碑最好装修公司
  • 社交网站盈利吗深圳前十网站扩广公司
  • 代做网站毕业设计网站专题页怎么做
  • 网站详情一般是什么公司做北京东城网站建设公司
  • 网站建设的基本特点网页开发工资
  • 举报网站建设自查报告最近几天的新闻大事
  • 做网站运营需要注意哪些问题足球进球排行榜
  • 怎么卸载windows优化大师百度seo关键词排名优化
  • 网站 备案信息产品推广目标
  • 帮人做网站收多少钱嘉兴网站推广平台
  • 网站插件开发网站 数据库 sql 导入数据库
  • 商洛网站设计邹平建设网站