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

怎么区分营销型网站网上哪些网站可以做设计项目

怎么区分营销型网站,网上哪些网站可以做设计项目,热点事件舆情分析报告,手工制作飞机在react中,当我们setState之后,若值发生变化,则会重新render当前组件以及其子组件 (默认情况下),在必要的时候,我可使用memo (class组件则对应shouldComponentUpdate、PureComponent)进行优化,来减少无效渲…

在react中,当我们setState之后,若值发生变化,则会重新render当前组件以及其子组件 (默认情况下),在必要的时候,我可使用memo (class组件则对应shouldComponentUpdate、PureComponent)进行优化,来减少无效渲染。memo是一个高阶组件,接受一个组件作为参数,并返回一个原组件为基础的新组件,而在memo内部,则会使用Object.is来遍历对比新旧props是否发生变化,以决定是否需要重新render。
在我们使用memo包裹子组件的时候,往往需要父组件配合使用useMemo,useCallback等,来缓存传给子组件props中的引用类型的值和方法 (function其实也是引用类型数据的一种,useCallback也是useMemo的一种特殊情况),因为对于react函数组件,其本身就是个render函数,每次re-render之后,都会重新执行此函数,而每次执行的时候就会产生一个新的函数作用域,因此默认每次都会创建一个新的变量,如果是引用类型,则会造成Object.is返回false,故而无法达到防止无效渲染的目的。此时我们需要在父组件传给子组件props的值的时候,缓存引用类型数据,来保证在依赖没有变化的情况下,始终返回同一个引用地址。

注意:只有在组件渲染发生了性能问题的时候,例如组件内容较为复杂,render过程比较慢,我们才使用memo (shouldComponentUpdate、PureComponent) 进行优化,否则你会得不偿失,恰得其反,反而造成性能的下降。因为本身在遍历props进行对比的过程,就需要一定的执行时间,如果组件较小,re-render的代价比对比props的代价更低,这时候我们就不适合使用memo (shouldComponentUpdate)。

useMemo、useCallback其实就是在更新阶段的时候,对比依赖是否发生变化,若发生变化则创建新的值,若没有,则返回旧的值,useMemo的update阶段源码如下:

function updateMemo<T>(nextCreate: () => T,deps: Array<mixed> | void | null,
): T {const hook = updateWorkInProgressHook();const nextDeps = deps === undefined ? null : deps;const prevState = hook.memoizedState;if (prevState !== null) {// Assume these are defined. If they're not, areHookInputsEqual will warn.if (nextDeps !== null) {const prevDeps: Array<mixed> | null = prevState[1];if (areHookInputsEqual(nextDeps, prevDeps)) {return prevState[0];}}}const nextValue = nextCreate();hook.memoizedState = [nextValue, nextDeps];return nextValue;
}
http://www.dtcms.com/a/476907.html

相关文章:

  • 做一个销售网站需要多少钱公司设立网址
  • 手机回收网站开发汕头自动seo
  • 网站开发制作合同范本共享办公都有哪些公司
  • 做传销一般是不是有网站昆明森贤网站建设
  • 小程序登录功能wordpress菜单优化插件
  • 做h5哪个网站好用常州中环互联网网站建设
  • 电商网站设计 页面转化率网络优化内容有哪些
  • 建设商业门户网站的重要宜宾营销型网站建设
  • 上海开发小程序和app的公司邢台做网站建设优化制作公司金信
  • 郑州企业如何建网站网上报建贵州建设局网站
  • 营销型网站解决方案建设银行网上银行官方网站
  • 各类微网站建设中国建网站报价
  • 自媒体可做外链网站网站设计公司 南京
  • 建设银行安徽分行招聘网站网站建设的进度
  • 网站升级维护要多久rss订阅wordpress
  • 如何备份织梦系统做的网站现在建网站做推广能赚钱吗
  • 建设银行手机银行网站用户名建设自己网站需要多钱
  • 网站建设公司 预算千万不要学环境艺术设计
  • 部门网站建设电脑版浏览器入口
  • 企业网站建设的注意事项优质的天津网站建设
  • 商务网站建设模板网站后台有安全狗
  • 公司网站代做网站设计流程的步骤
  • 销售型企业网站wordpress导航改哪个php文件夹
  • 自己做网站投放广告短视频运营
  • 做网站嘉兴北京市建设局网站首页
  • 网站结构设计的内容网站首页置顶是怎么做
  • 帝国cms关闭网站网页设计师培训机构免费
  • 如何用c 做网站网站icp备案证书
  • 建设通网站会员免费吗网站下拉菜单
  • 美妆网站设计软件商城安装