当前位置: 首页 > 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/14541032/

相关文章:

  • 北京网站建设116net南宁网站建设公司哪个好
  • 网站开发技术实验总结网站封面怎么做
  • 坪地网站建设价格网站底部悬浮
  • 做网站精英制作wordpress页面模板下载地址
  • 德州做网站多少钱简单的网页设计代码记事本
  • 棋牌网站建设购物网站代码模板
  • 做网站的意义是什么wordpress最新文章
  • 长治网站制作小程序景观设计师如何做网站
  • 六安网站建设招商wordpress缓存头像
  • 佛山商城网站制作域名备案查询网站备案
  • php网站开发实例教材深圳企业建设网站
  • 长兴网站建设页面简单的网站
  • 网站静态化 好处快速seo关键词优化方案
  • 域名备案要先做网站的吗港海建设网站
  • wordpress 购物网站比较顺口的建筑公司名字
  • 商城网站开发项目文档濮阳团购网站建设
  • 文本分析网站wordpress银联插件
  • 如何登录中国建设银行网站wordpress默认管理员密码
  • 越秀公司网站建设建站最好的
  • 找网站建设需要问什么软件做导购网站赚钱吗
  • 浏览器正能量网站免费图片网站怎么写
  • 电影频道做的网站广告17zwd com一起做网店
  • 建设网站大约多少钱怎么创建平台卖自己的产品
  • android开发者网站国外域名注册价格
  • 深圳建设网站制作公司广告设计公司vi设计
  • 京东的网站建设历史什邡市建设局门户网站
  • 南京网站seo优化公司米可网络科技有限公司
  • 网站被黑个人办公室装修效果图
  • 网站建设创业基础ppt模板国家网站建设的相关规定
  • 网站建设优化seo销售网站建设公司