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

网站规划与建设做防护信息的网站

网站规划与建设,做防护信息的网站,竭诚网络网站建设价格,vi设计公司成都react组件传参 父传子 父组件 < ChildA value{this.state.num}></ChildA> 子组件 {props.value}接收父组件传入参数 ChildA.defaultProps{vaue:1} defaultProps默认参数 子传父 props回调函数形式 父 setNum>v>this.setState({num:v}) v形参 < ChildA…

react组件传参

父传子

父组件
< ChildA value={this.state.num}></ChildA>
子组件
{props.value}接收父组件传入参数
ChildA.defaultProps={vaue:1}
defaultProps默认参数

子传父

props+回调函数形式

setNum=>v=>this.setState({num:v}) v形参
< ChildA value={this.state.num} setNum={this.setNum} />

<button onClick={()=>props.setNum(100)}></button>
通过props调用父组件传入的方法

跨组件

context上下文
提供Context.provider
使用Context.consumer

全局状态管理

redux
mobx

组件插槽

子组件通过{props.children}获取插槽内容

react生命周期

挂载阶段

01 构造函数constructor
02 static getDerivedStateFromProps(nextProps,prevState)props和 state更新会执行
03 render 函数渲染
04 componentDidMount() 组件已经挂载(dom渲染完成)
时间监听 dom操作 ajax 定时器

更新阶段

01 static getDerivedStateFromProps(nextProps,prevState)state和props更新时候会触发
02 shouldComponentUpdate(nextProps,nextState)组件是否更新
返回true执行渲染更新,返回false不渲染(优化)
03 render 渲染函数
04 getSnapshotBeforeUpdate(prevProps,prevState)
更新前获取快照,返回值是cdu的第三个参数
05 ==componentDidUpdate(prevProps,prevState,snap)==组件已经更新 (dom渲染完毕)

卸载阶段

componentWillUnmount 组件将要卸载

优化

shouldComponentUpdate组件里面

this.state和prevState
this.props和prev
Props返回true更新 返回false就不更新
可以比较值类型,也可以比较引用类型

PureComponent 实现

自动比较值类型props
PureComponent是一个React特有的组件,用于优化性能的更新。
它具有与React.Component相同的API,但它内部实现了一个 shouldComponentUpdate(),它会浅比较 props 和 state,以确定 UI 更新是否有必要。如果比较的结果没有发生变化,PureComponent 将跳过更新。

而Component则不会,它会每次都重新渲染,因此性能上会比PureComponent差。

组件

函数组件

props
类组件(有props state 生命周期 ref this)
推荐使用函数组件,函数组件只有props,不依赖state 适应性更强,更解构,
提高组件的复用性
也叫视图组件

类组件

state this 有限定组件的复用

Hooks

useState 使用状态

作用:模拟状态
导入
import {useState} from 'react'
使用
const [num,setNum]=useState(5)
num数据 setNum更新num数据的方法 5默认值
调用num:{num}
更新num:<button onClick={()=>setNum(num+2)}>

useEffect使用副作用

作用:模拟生命周期
模拟挂载完毕 写空的数组

//   写空的数组是挂载  useEffect(()=>{// console.log("组件已经加载完毕:ajax dom操作 定时器 事件挂载");fetch("http://dida100.com/mi/list.php").then(res=>res.json()).then(res=>{console.log(res.result,"数据获取");setList(res.result)})},[])
模拟某些数据的更新+挂载 写第二个参数
// 挂载和更新 写第二个参数// useEffect(()=>{//   console.log("count 已经更新");// },[count,list])
模拟任意数据的挂载+更新
useEffect(()=>{console.log("任意数据的更新");})
模拟组件将要卸载
useEffect(()=>{return ()=>{//模拟组件将要卸载},[])
http://www.yayakq.cn/news/691793/

相关文章:

  • 辽阳企业网站建设服务wordpress彩票插件
  • 外贸官网建站我国网站建设的不足
  • 网站建设的团队分工网站功能介绍是什么
  • 网站建设的优势国家企业信用信息公示系统官网app
  • 网站建设与管理综合实践福州做网站的
  • 外贸网站模板wordpress主题一点就升级
  • 做标书分享网站做自己的网站怎么赚钱
  • 坑梓网站建设流程html网页的代码大全
  • dedecms做的网站首页被挂马wordpress 微信 商城模板
  • 校园网站建设项目总结报告网站建设工作情况
  • 网站做桌面应用 iOSp2p网站建设源码
  • 博客网站开发技术邯郸做网站找哪家好
  • 网站建设游戏百度联盟个人怎么接广告
  • 网站建设要学视频网站开发要求
  • 做地方网站赚钱吗卖手表的网站
  • 做网站哪个服务商便宜网站开发整体流程图
  • 公司做网站费用wordpress 编辑器模板
  • 网络公司给我们做的网站_但是我们不知道域名是否属于我们企业网站后台管理系统
  • 长沙做模板网站免费网页游戏助手
  • 长春定制建站企业网站凡客诚品官网怎么登录
  • 网站批量发布dz网站如何做301
  • 关于学院网站建设的意见中国站长站官网
  • 做网站背景全覆盖的代码求个没封的网站2022
  • 百度云注册域名可以做网站明码对网站建设课程的心得体会
  • 乱起封神是那个网站开发的?建设通网站怎么查项目经理在建
  • 建设一个网站多钱百度网盘下载慢
  • 通信网站模板常熟沿江开发区人才网最新招聘
  • 民族文化网站建设的作用通栏式网站
  • 有专门做网站维护的职业吗wordpress 付费剧集网站
  • 合肥那家公司做网站四川微信网站建设推