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

安徽建设局网站店面设计餐饮风格

安徽建设局网站,店面设计餐饮风格,美业拓客公司哪家好,阿里云简单网站建设高级特性 1#xff0c;protals#xff08;传送门#xff09;#xff1a;将子组件渲染到父组件之外。 实例场景#xff1a;父组件的儿子是Modal组件#xff0c;使用fixed定位虽然样式看着是在父组件之外了#xff0c;但是打开控制台查看元素#xff0c;Modal相…高级特性 1protals传送门将子组件渲染到父组件之外。 实例场景父组件的儿子是Modal组件使用fixed定位虽然样式看着是在父组件之外了但是打开控制台查看元素Modal相关的html还是嵌套在idApp里面。由于fixed定位的元素最好是直接放到body里具有更好的兼容性所以需要使用protals让modal渲染到body下 import ReactDom from react-dom;class Test extends from React.component{render(){return ReactDom.createPortal(div classNamemodal这是一个模态框/div, document.body)} } 常用场景 fixed浏览器兼容性父组件z-index太小父组件设置了overflow:hidden  2context多层级组件传值 场景使用props层层传递太啰嗦使用redux太繁重。 那么可以选择使用context或者recoil // A.jsx const ThemeContext React.creatContext(light)class A extends React.Component{this.state { theme: }render(){ThemeContext.Provider value{this.state.theme} B /button onClick{()setState({val:hh})} /button/ThemeContext.Provider} }// B.jsxclass B extends React.Component{render(){divC //div} }// C.jsxclass组件class C extends React.Component{const { theme } this.context;static contextType ThemeContext render(){div{theme}/div} }C.contextTypeThemeContext // 如果不这样写需要在C组件中将注释打开// C.jsx 函数组件 function C (){ return ThemeContext.Consumer {themetheme} /ThemeContext.Consumer } 性能优化 1异步加载组件 组件比较大import()或者路由懒加载React.LazyReact.Suspense import()正常的组件会随着整个项目打包成一个MD5.js的文件但是异步加载的组件会单独打包成一个md5.js文件 React.Lazy()相当于一个构造函数将引入的组件作为输入封装后输出一个异步的组件 React.Suspense const Dom React.lazy(()import(../bigComponent)class App extends from React.component{render(){return React.Suspense fullback{div...loading/div}Dom //React.Suspense} } 2scu memo配合useMemouseCallback使用) 比如以下结构代码 // index.tsx const Index(){ const [val,setVal]useState(1); const [b,setb]useState(hh); const add ()setVal(val1); const callbackFn ()alert(hi); return divbutton onClick{add}按钮{val}/buttonB b{b} callbackFn{handle} / /div }// B.tsx const B (b,callbackFn){ console.log(我又被执行了一遍这就是刷新了这个组件) return div{b} /div } 每次点击按钮B组件都会打印那句话这就说明B组件的代码又被执行了一遍进行重复渲染。为了解决这个重复渲染变量用useMemo封装起来函数用useCallback封装起来 // index.tsx const Index(){ const [val,setVal]useState(1); const [b,setb]useState(hh); const add ()setVal(val1);const bprops useMemo(()b,[b]); const callbackFn useCallback(()alert(hi),[]);return divbutton onClick{add}按钮{val}/buttonB b{b} callbackFn{handle} / /div }// B.tsx const B (b,callbackFn){ console.log(我又被执行了一遍这就是刷新了这个组件) return div{b} /div }
http://www.hkea.cn/news/14454162/

相关文章:

  • 网站后台编辑器营销推广活动策划书模板
  • 我的世界做弊端网站网站建设报道稿
  • 绥化建设局网站wordpress建站是什么
  • 网站建设及推广预算表黄石网站建设哪家好
  • 效果图网站哪个好一个网站的建设要经过哪几个阶段
  • 如何建立一个手机网站wordpress 单栏模板下载
  • 福州网站开发培训免费p站推广网站入口
  • 做网站的公司哪里好怎么推广网址
  • 网站可以做多少个网页静态旅游网站
  • 国外 素材 网站网络推广的方法和途径
  • 内网建设网站外网访问网站开发现状都用php
  • 云顶科技做网站的wms智能仓储管理系统
  • 网站建设文案详情深圳品牌策划与设计
  • 网站备案是否关闭网站开发的运行可行性
  • 济南建设网官方网站具体c2c网站建设实例
  • 备案 几个网站你眼中的网络营销是什么
  • 彩票娱乐网站建设开发南充市房地产网官网
  • 精品课程网站建设摘要网站死链怎么办
  • 通辽市工程建设网站照片视频制作软件app
  • 铁岭网站开发公司京东app官网下载
  • 西安网站制作公司哪如何做平台网站
  • 毕业设计做系统好还是网站好中国建设银行网上银行
  • qq赞网站推广免费2019广东省工程建设网站
  • 专门做牛肉的网站礼品行业网站建设
  • 网站搭建响应式百度搜索引擎优化的方法
  • 模板建站与仿站哪个更好青海网站建设价格低
  • 春哥技术团队网站建设全国十大网络公司
  • 网站建设相关博客做仿网站的书
  • 企业网站新闻wp怎么做个人网站建设源代码
  • 珠海哪个网站制作公司好常见网络营销工具