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

临沂网站制作培训大连网站开发公司

临沂网站制作培训,大连网站开发公司,环保网站设计建设论文,建设银行网站www.ccb.com1 useEffect(setup,dependencies) 使用object.is来比较每个依赖项和它先前的值 依赖项为空数组的effect不会在组件任何props和state发生改变时重新运行 当useEffect依赖于外部传入props对象时,容易造成死循环 需要对依赖对象进行深比较 import { isEqual } from…

1 useEffect(setup,dependencies)

使用object.is来比较每个依赖项和它先前的值

依赖项为空数组的effect不会在组件任何props和state发生改变时重新运行

当useEffect依赖于外部传入props对象时,容易造成死循环
需要对依赖对象进行深比较

import { isEqual } from 'lodash'
const useCompare = (value: any, compare: any) => {const ref = useRef(null)if(!compare(value,ref.current)){ref.current = value}return ref.current
}const params = useCompare({...accessParam,...reqParam,
},isEqual)useEffect(()=>{
},[params])

2 useRef

应用一个不需要渲染的值,改变ref不会触发重新渲染

const ref = useRef(value)

不要在渲染期间写入或读取ref.current

通过ref操作DOM:

const ref = useRef(null)
<input ref={ref} />

获取子元素的ref

const children = forwardRef((props,ref)=>{return (<Input ref={ref}/>)
})

3 useContext

跨层级传递变量

const ThemeContext = createContext(null)<ThemeContext.Provider value='dark'><Form>
<ThemeContext.Provider/>//使用context
const context = useContext(ThemeContext)

通过context更新对象

	<Provider value={{user,setUser}}></Provider>

4 useImperativeHandle(ref,createHandle,dependencies)

用于定义ref暴露出的句柄

5 useReducer(reducer, initialArg,init?)

允许向组件里面添加一个reducer用于状态管理

  • reducer(state,action) => newState 用于更新state的纯函数
  • initialArg:初始化state的值
  • init:用于计算初始值的函数

返回值为数组:[currentState, dispatch]

注意:dispatch函数为下一次渲染更新state,因此调用后拿不到更新后的值。如果提供state与当前state一致react会跳过组件和子组件的重新渲染

用法:

//state是只读的,不可尝试修改
const reducer = (state,action) => {if(action.type === '') {return {...state}}
}const [state, dispatch] = useReducer(reducer, { age: 42 })//调用更新函数
dispatch({type: ''})

6 memo

允许组件在props没有改变的情况下跳过重新渲染

如果传递给组件的props是一个对象,应使用useMemo避免父组件每次重新创建该对象
如果传递给组件的props是一个函数,应使用useCallback进行缓存

7 createPortal(children,domNode,key?)

允许将JSX作为children渲染至DOM不同部分

应用场景:当样式有overflow:hidden或z-index,需要子组件能视觉上跳出当前容器

import {createPortal} from 'react-dom'<div>{createPortal(<p />, document.body)	}
</div>
http://www.yidumall.com/news/33165.html

相关文章:

  • 工程建设招标中心网站阿里巴巴友情链接怎么设置
  • 国内有哪些做卡通素材的网站长沙网站seo
  • 建电子商务网站费用做网络推广有前途吗
  • 深圳著名设计网站大全西地那非片
  • 知名b2b网站一个具体网站的seo优化
  • 佳木斯城乡建设局网站网络服务包括
  • 做非法网站判什么邢宁波好的seo外包公司
  • 封面型网页网站有哪些郑州疫情最新动态
  • 开发app商城软件的公司网站推广优化方案
  • 产品推广方案范本优化设计一年级下册数学答案
  • 微信打不开网站网站站内推广怎么做
  • 如何自己做网站一年赚一亿百度推广怎么收费的
  • 网站建设免费模版手机关键词排名优化
  • 做满屏网站的尺寸电脑编程培训学校
  • 濮阳网站建设哪里便宜企业网站建设方案范文
  • 搭建网站教程视频营销管理
  • 做网站 大文件b站推广入口
  • 中国林业工程建设网站泉州网站建设
  • 网站备案回访问题郑州seo优化大师
  • html5 手机网站 模板seo是什么意思啊
  • 宁波高等级公路建设指挥部网站站长交流平台
  • 可以做批发的跨境电商网站平台重庆seo排名优化
  • 网站框架建设中国域名网官网
  • 商城微网站模板百度seo一本通
  • 湖北可以做网站的公司企业站seo案例分析
  • 有做网站需求的客户搜索引擎哪个最好用
  • 四川专业网站建设推广优化网站建设
  • 做图赚钱的网站有哪些seo软文推广工具
  • 软件编程技术培训机构seo信息是什么
  • 调研报告 政府网站建设企业网址怎么注册