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

沈阳网站建设教案模板抖音搜索seo代理

沈阳网站建设教案模板,抖音搜索seo代理,木门行业做网站有什么好处,html网站免费模板React Hook入门小案例 在函数式组件中使用state响应式数据给大家演示了最简单的 Hook操作 那么 我们继续 首先 Hook官方介绍 他没有破坏性是完全可选的 百分比兼容 也就说 我们一起的 类 class的方式也完全可以用 只要 react 16,8以上就可以使用 Hook本身不会影响你的react的理…

React Hook入门小案例 在函数式组件中使用state响应式数据给大家演示了最简单的 Hook操作 那么 我们继续
首先 Hook官方介绍 他没有破坏性是完全可选的 百分比兼容 也就说 我们一起的 类 class的方式也完全可以用
只要 react 16,8以上就可以使用
Hook本身不会影响你的react的理解 恰恰相反 官方认为 他会让react理解更加容易
至于 Hook的修改动机在于 他认为当组件很多时 类的方式很不易理解
而且这是一种剪辑式的修改方式 比如 你的老项目 你之前的还是可以继续用class 新的用Hook管理函数式 他们之间不会发生冲突

然后 我们来说第二个 Effect Hook

好 那我们来开启代码 编写代码如下

import React from "react";
export default class AppRouter extends React.Component{constructor(props){super(props);this.state = {name: "小猫猫"}}componentDidMount = ()=>{document.title = this.state.name;}render(){return (<div>Hello World</div>)}
}

我们在界面写了很普通的案例 Hello World
然后在componentDidMount 页面挂载完毕的生命周期中执行了 将页面title内容改为this.state.name的指令
然后运行结果如下
在这里插入图片描述
没有什么问题

我们可以在页面内容中加这样一个按钮

<button onClick= { ()=>{ this.setState({ name: "大猫猫" }) } }>更改title</button>

在这里插入图片描述
点击后改变name的值
我们运行代码 会发现 点击之后 title的值并不会随着点击而变化
在这里插入图片描述
但是其实我们心里清楚这肯定是变化了的

那么 我们就可以去写

componentDidUpdate() {document.title = this.state.name;
}

在这里插入图片描述

利用 componentDidUpdate 监听数据变化 当响应式数据变化重新渲染一次title的内容
在这里插入图片描述
这次点击后 title的内容也就变化了

其实这样写多少还是有点捞的 我们可以用新特性去实现
我们将代码改成这样

import React,{ useState,useEffect } from "react"const MyComponent = () => {const [name,setName] = useState("小猫猫");/*useEffect相当于三个生命周期函数分别是componentDidMount //元素挂载完成componentDidUpdate //响应式数据更改componentWillUnmount  //组件销毁前*/useEffect(() => {document.title = name;})return (<div>Hello World<button onClick={ ()=> { setName("大猫猫")} }>更改title</button></div>);
};export default MyComponent;

运行项目
在这里插入图片描述
显然开始渲染的没有什么问题

然后 我们点击按钮
在这里插入图片描述
内容也是改变成功

这里正如我们注释写的那样 useEffect相当于三个生命之前函数
componentDidMount //元素挂载完成
componentDidUpdate //响应式数据更改
componentWillUnmount //组件销毁前

官方不会去动你的蛋糕
它也可以单独去相当于某一个生命周期函数

我们将 useEffect 上面的代码改成

useEffect(() => {document.title = name;// eslint-disable-next-line react-hooks/exhaustive-deps
},[]);

后面加个空数组
这样 他就只相当于 componentDidMount
运行项目
在这里插入图片描述
第一次渲染上去了
然后我们点击按钮
在这里插入图片描述
就不会变化了 因为他目前只有componentDidMount的作用

如果你在最后面加个 return
在这里插入图片描述
那么 这个 return中的内容 就是组件销毁后会执行的componentWillUnmount逻辑函数

http://www.ritt.cn/news/26863.html

相关文章:

  • 动态网站的例子爱站网工具
  • 网站怎么做展现量公关负面处理公司
  • 安徽合肥制作网站公司吗百度竞价推广开户价格
  • 做一个营销型网站网络营销服务商
  • 利用养生网站做竞价引流win7运行速度提高90%
  • 淮安网站建设方案搜狗站长工具
  • 厦门的一个做设计的网站排名软件下载
  • 聊城建设网站重庆seo教程
  • 网站目录做别的内容企业seo排名
  • 景安做网站教程茂名seo快速排名外包
  • 动态网站设计与开发世界足球排名
  • 软件著作权申请广州百度seo排名优化
  • 网站建设捌金手指花总六百度普通下载
  • 教育培训机构怎么建设网站网站收录查询爱站
  • 北邻京网站茵建设上海培训机构
  • 免费英文网站模板线上seo关键词优化软件工具
  • 买过域名之前就可以做网站了吗关键词排名优化报价
  • 云南火电建设有限公司网站网页界面设计
  • 服饰网站模板营销策划方案怎么写?
  • 各种网站建设报价中文搜索引擎有哪些平台
  • 国外做网站卖东西要什么条件湖南百度推广公司
  • 租号网站怎么做的公司百度官网优化
  • 公司的网站开发费计入什么科目超级外链
  • 专业做鞋子网站有哪些品牌推广方案
  • 开网络公司做网站挣钱吗必应搜索引擎
  • 中国疫情今天最新情况网站关键词seo优化公司
  • 网站如何做tag郑州疫情最新消息
  • 公司建设网站需要什么资质教育培训网站大全
  • 前端asp网站开发互联网营销的方式有哪些
  • 建设法规 课程网站长沙网站包年优化