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

台州市建设厅网站网站建设核心

台州市建设厅网站,网站建设核心,桂林小学网站建设,wordpress图片主题cxudy使用规则 只能在组件中或者其他自定义的Hook函数中调用 只能在组件的顶层调用#xff0c;不能嵌套在if、for、 其他函数中 基础Hook 函数 useState useState是一个hook函数#xff0c;它允许我们向组件中添加一个状态变量#xff0c;从而控制影响组件的渲染结果 示例1…使用规则 只能在组件中或者其他自定义的Hook函数中调用 只能在组件的顶层调用不能嵌套在if、for、 其他函数中 基础Hook 函数 useState useState是一个hook函数它允许我们向组件中添加一个状态变量从而控制影响组件的渲染结果 示例1 function App() {// 创建一个状态变量// count: 状态变量setCount: 更新状态变量的函数const [count, setCount] useState(0)return (divp当前数值是{count}/pbutton onClick{() setCount(count 1)}加一/button/div) }示例2 function App() {const [userName, setUserName] useState(111);return (divinputtypetextvalue{userName}placeholder请输入onChange{(e) setUserName(e.target.value)}/div当前输入值是{userName}/div/div); }注意 在react中状态被认为是只读的直接修改状态不能引发视图的更新对于对象类型的状态变量应该始终传给set方法一个全新的对象来进行修改 function App() {const [form, setForm] useState({age: 0})return (divp当前年龄是{form.age}/pbutton onClick{() setForm({...form,age: form.age 1})}加一/button/div) }useRef 获取、操作DOM function App() {// 使用 useRef生成ref对象并绑定到dom上const inputRef useRef(null);// 获取domconst getDom () {console.log(inputRef.current);};return (divinput typetext ref{inputRef} placeholder请输入 /button onClick{getDom}获取dom/button/div); }useEffect useEffect是一个React Hook函数用于在React组件中创建不是由事件引起而是由渲染本身引起的操作比如发送AJAX请求、更改DOM等 function App() {const [content, setContent] useState();const [note, setNote] useState();useEffect(() {// 获取每日英语function getEnglish() {fetch(https://api.oioweb.cn/api/common/OneDayEnglish).then((res) res.json()).then((data) {console.log(data);setContent(data.result.content);setNote(data.result.note);});}getEnglish();}, []);return (divdiv英文{content}/divdiv翻译{note}/div/div); }不同依赖项说明 没有依赖项组件初始渲染组件更新时执行空数组依赖只在初始渲染时执行一次添加特定依赖项组件初始渲染特性依赖项变化时执行 没有依赖项 function App() {const [content, setContent] useState(0);useEffect(() {console.log(副作用执行了);});return (divbutton onClick{() setContent(content 1)}{content}/button/div); }空数组依赖 function App() {const [content, setContent] useState(0);useEffect(() {console.log(副作用执行了);}, []);return (divbutton onClick{() setContent(content 1)}{content}/button/div); }特性依赖变化 function App() {const [content, setContent] useState(0);useEffect(() {console.log(副作用执行了);}, [content]);return (divbutton onClick{() setContent(content 1)}{content}/button/div); }清除副作用 在useEffect中编写的由渲染本身引起的对接组件外部的操作 社区也叫做副作用操作比如在useEffect中开启了一个定时器我们想在组件卸载时把这个定时器再清理掉这个过程就是清除副作用。 useEffect(() {console.log(副作用执行了);return () {console.log(清除副作用);}; }, []);清除副作用的函数最常见的执行时机是在组件卸载时自动执行。 function App() {const [show, setShow] useState(true);return (div父组件button onClick{() setShow(false)}卸载Son组件/button{show Son /}/div); } function Son() {const [currentDate, setCurrentDate] useState();useEffect(() {const timer setInterval(() {const newDate new Date().toLocaleTimeString();setCurrentDate(newDate);console.log(当前时间, newDate);}, 1000);return () {// 不清除副作用即使组件不适用了定时器还会执行clearInterval(timer);};}, []);return (divdiv子组件/divdiv当前时间是{currentDate}/div/div); }自定义Hook 自定义Hook是以use打头的函数通过自定义Hook函数可以用来实现逻辑的封装和复用 function App() {const [state, toggle] useToggle()return (div{ state div这是一个div/div }button onClick{toggle}切换/button/div) }function useToggle(){// 可复用的逻辑代码const [state, setState] useState(true)const toggle () {setState(!state)}// 那些状态和方法需要在其他组件中使用则返回return [state, toggle] }通用思路 声明一个以use大头的函数在函数体内封装可以复用的逻辑将组件中用的的状态或者回调函数return出去对象或者数组形式在那个组件中用到这个逻辑就执行这个函数结构出来状态和回调进行使用 function App() {const [content, note] useOneDayEnglish();return (divdiv英文{content}/divdiv翻译{note}/div/div); }function useOneDayEnglish() {const [content, setContent] useState();const [note, setNote] useState();useEffect(() {// 获取每日英语function getEnglish() {fetch(https://api.oioweb.cn/api/common/OneDayEnglish).then((res) res.json()).then((data) {console.log(data);setContent(data.result.content);setNote(data.result.note);});}getEnglish();}, []);return [content, note]; }
http://www.dnsts.com.cn/news/177296.html

相关文章:

  • 网站源码安装推广营销软件
  • 如何免费建造网站百度seo搜索引擎优化
  • 1v1网站建设公司变更证明模板
  • 现在做网站用什么程序免费网站入口网站免费进ps软件
  • 网站多少流量够用河北新闻最新消息今天
  • 网站备案过户程序开发语言
  • 石家庄模板建站行业解决方案南京制作网站建站模板公司
  • .net如何做网站一起做网店潮汕站
  • 做网站服务器哈尔滨网站优化如何
  • 广州网站制作怎么做电商网站商品页的优化目标是什么?
  • 郑州做网站比较专业的机构温州手机网站制作推荐
  • soho外贸网站一个域名怎么用来做多个网站
  • 网站建设怎么分析市场分析腾讯云wordpress教程
  • wordpress 一键建站建设申请网站首页
  • 顶棒 技术支持 东莞网站建设去河南省住房和城乡建设厅网站查
  • 两学一做纪实评价系统登陆网站网络营销与策划形考任务答案
  • 网站开发用什么系统比较好?做网站的是干嘛的
  • 网站运营专员是干嘛的暴雪被收购
  • 网站的基础服务东营网站推广
  • 汕头网站推广制作怎么做响应式网站管理系统
  • 设计网站页面建设报名系统
  • 五金店网站模板无锡装饰网站建设排名
  • 网站登录入口大全吐鲁番seo招聘
  • 专业网站建设平台公司孝仙洪高速公路建设指挥部网站
  • 网络广告网站怎么做集思吧网站怎么做问卷
  • wordpress网站微信公众号推送做艺术品的网站
  • 河南网站推广怎么做龙岩天宫山住宿怎么订
  • 秦皇岛网站建设建设银行重庆分行网站
  • 做网站需要用什麼服务器国产4k高清电视十大排名
  • 西安网站推广哪家稳定seo 优化 服务