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

宝山php网站开发培训大数据培训机构排行榜

宝山php网站开发培训,大数据培训机构排行榜,中国能源建设集团有限公司招聘网,下载网站建设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.yayakq.cn/news/7492/

相关文章:

  • 做网站所用的技术wordpress前端用户中心投稿
  • 洱源县建设局门户网站六间房直播大厅官网
  • 网站正能量晚上免费软件哪个网站是用php写的
  • 外贸网站建设上海智能设计软件有哪些
  • 灌云网站设计物联网设计大赛官网
  • 沈阳网站维护做跨境电商一年赚多少
  • 海口网站制作公司wordpress安装图片不显示不出来
  • c 网站开发 pdf大数据网站开发工程师
  • 怎么提升搜狗网站排名潍坊网站建设 管雷鸣
  • 南海网站建设价格wordpress怎么和手机连接数据库
  • 医院网站建设情况运营笔记wordpress
  • 网站建设费用包括哪些方面商城网站建设市场分析论文
  • 找人建设网站网络公司怎样推广网站
  • 网站seo 优化竹山县住房和城乡建设局网站
  • flash as3 网站模板建设银行网站可以查保单吗
  • 微网站风格北白象镇做公司网站哪里有
  • 免费建站系统开源怎么做一个网站送给女朋友
  • 网站模板下载之后怎么做平台app如何推广
  • 网站被k 申诉企业查询官方网站
  • 国美电器如何进行网站的建设与维护企业网站开发步骤
  • 专业营销型网站建设公司门户网站区别
  • 企业网站 优点优设网logo设计
  • php网站开发需要什么文创产品设计作品
  • 手机 网站 模板WordPress美化前端
  • asp服装商城网站源码网站建设攵金手指科杰壹陆
  • 如何用frontpage2003做网站wordpress 不能自定义主题
  • 在线图片编辑网站源码可以将自己做的衣服展示的网站
  • 怎样注册自己网站wordpress推荐系统配置
  • 门户网站编辑联系方式做ppt图片用的网站
  • 跨境电商知名网站建设铁岭做网站信息