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

临沂网站制作培训哈尔滨seo网络推广

临沂网站制作培训,哈尔滨seo网络推广,宣城做网站,东莞房价排名1 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.dinnco.com/news/4653.html

相关文章:

  • 网站建设 上海网站网络营销教程
  • 做昆特牌的网站做公司网站
  • 免费下载网站模板关键词全网搜索工具
  • 搜索引擎网站推广病毒营销案例
  • 做淘宝网站的网络营销是什么
  • 建设一个网站需要多长时间做网站公司
  • 注册网站页面跳转错误杭州seo营销
  • 那类型网站容易做排名专业做网站公司
  • 潍坊网站建设SEO优化熊掌号免费平台
  • 网站上做销售网点怎么做湖南广告优化
  • 呼和浩特公司网站制作最新国际新闻事件今天
  • 做相片网站百度关键词排名价格
  • 网站的后台地址福州关键词搜索排名
  • 网站制作技术支持如何做网址
  • 网站开发与实现文献综述营销策划方案案例
  • wordpress换域名后图片路径不对福州seo视频
  • 怎样做有趣的视频网站百度官网首页
  • h5网页大连seo优化
  • 国外室内设计网站排名搜索引擎排名谷歌
  • c 网站开发需要学什么软件石家庄百度推广排名优化
  • 潍坊比较大的网站制作公司公司网站建设需要注意什么
  • 做旅游游客产品的网站爱站网注册人查询
  • 哪个行业最容易做网站快手秒赞秒评网站推广
  • 长春做网站推广深圳网络推广有几种方法
  • iis 发布网站asp网站郑州seo学校
  • 住房和城乡建设部网站中国建造师网国内手机怎么上google浏览器
  • 网站升级停止访问如何做seo网站排名优化软件是什么
  • 临湘市建设局网站sem是什么职业
  • 做门户网站maosi代运营靠谱吗
  • 做汽车网站费用人工在线客服