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

永久网站推广线上购买链接

永久网站推广,线上购买链接,wordpress 不显示图片,商务网站模板1.认识高阶函数 高阶组件 本身不是一个组件,而是一个函数函数的参数是一个组件,返回值也是一个组件 高阶组件的定义 import ThemeContext from "../context/theme_context"function withTheme(OriginComponent) {return (props) > {retur…

1.认识高阶函数

  • 高阶组件 本身不是一个组件,而是一个函数
  • 函数的参数是一个组件,返回值也是一个组件
高阶组件的定义
import ThemeContext from "../context/theme_context"function withTheme(OriginComponent) {return (props) => {return (<ThemeContext.Consumer>{value => {return <OriginComponent {...props} {...value} />}}</ThemeContext.Consumer>)}
}export default withTheme

2.高阶函数的意义

优点:

  • 利用高阶组件可以针对某些React代码进行更加优雅的处理
  • 解决早期React使用Mixin混入,引起的相互依赖,相互耦合,不利于代码维护

缺点:

  • HOC需要在 原组件上进行包裹或者嵌套,如果大量使用HOC,将会产生非常多的嵌套,这让调试变得非常困难
  • HOC 可以劫持props,在不遵守约定的情况下也可能造成冲突

3.Portals的使用

某些情况下,我们希望渲染的内容独立于父组件,甚至是独立于当前挂载到的DOM元素中(默认都是挂载到id为root的DOM 元素上的)。
Portal 提供了一种将子节点渲染到存在于父组件以外的 DOM 节点的优秀的方案:
  • 第一 个参数(child)是任何可渲染的 React 子元素,例如一个元素,字符串或 fragment
  • 第二个 参数(container)是一个 DOM 元素

通过React内置的createPortal函数实现 

 Modal.jsx

import React, { PureComponent } from 'react'
import { createPortal } from "react-dom"export class Modal extends PureComponent {render() {return createPortal(this.props.children, document.querySelector("#modal"))}
}export default Modal

 App.jsx

import React, { PureComponent } from 'react'
import { createPortal } from "react-dom"
import Modal from './Modal'export class App extends PureComponent {render() {return (<div className='app'><h1>App H1</h1>{createPortal(<h2>App H2</h2>, document.querySelector("#why"))}{/* 2.Modal组件 */}<Modal><h2>我是标题</h2><p>我是内容, 哈哈哈</p></Modal></div>)}
}export default App

4.Fragment的使用

在之前的开发中,我们总是在一个组件中返回内容时包裹一个div元素:

如果希望不渲染这层的div,就可以通过Fragment实现,Fragment 允许你将子列表分组,而无需向 DOM 添加额外节点;

React还提供了Fragment的短语法,看起来像空标签 <> </>;
但是,如果我们需要在Fragment中添加key,那么就不能使用短语法;
import React, { PureComponent, Fragment } from 'react'export class App extends PureComponent {constructor() {super() this.state = {sections: [{ title: "哈哈哈", content: "我是内容, 哈哈哈" },{ title: "呵呵呵", content: "我是内容, 呵呵呵" },{ title: "嘿嘿嘿", content: "我是内容, 嘿嘿嘿" },{ title: "嘻嘻嘻", content: "我是内容, 嘻嘻嘻" },]}}render() {const { sections } = this.statereturn (<><h2>我是App的标题</h2><p>我是App的内容, 哈哈哈哈</p><hr />{sections.map(item => {return (<Fragment key={item.title}><h2>{item.title}</h2><p>{item.content}</p></Fragment>)})}</>)}
}export default App

5.StrictMode

StrictMode 是一个用来突出显示应用程序中潜在问题的工具:

  • 与 Fragment 一样,StrictMode 不会渲染任何可见的 Ui
  • 它为其后代元素触发额外的检查和警告
  • 严格模式检查仅在开发模式下运行; 它们不会影响生产构建

StrictMode检查项:

  • 识别不安全的生命周期
  • 使用过时的ref API
  • 检查意外的副作用
  • 使用废弃的findDOMNode方法
  • 检测过时的context APi
import React, { PureComponent, StrictMode } from 'react'
// import { findDOMNode } from "react-dom"
import Home from './pages/Home'
import Profile from './pages/Profile'export class App extends PureComponent {render() {return (<div><StrictMode><Home/></StrictMode><Profile/></div>)}
}export default App


文章转载自:
http://malvina.zydr.cn
http://men.zydr.cn
http://obvious.zydr.cn
http://deflexion.zydr.cn
http://windbroken.zydr.cn
http://scholastic.zydr.cn
http://parka.zydr.cn
http://windmill.zydr.cn
http://partridge.zydr.cn
http://twopence.zydr.cn
http://safrole.zydr.cn
http://infer.zydr.cn
http://condign.zydr.cn
http://adcolumn.zydr.cn
http://monazite.zydr.cn
http://auxanometer.zydr.cn
http://transom.zydr.cn
http://hemoptysis.zydr.cn
http://pettifog.zydr.cn
http://charterer.zydr.cn
http://nuciform.zydr.cn
http://stenciller.zydr.cn
http://rasbora.zydr.cn
http://forbid.zydr.cn
http://island.zydr.cn
http://dermatosis.zydr.cn
http://semifabricated.zydr.cn
http://dodger.zydr.cn
http://uis.zydr.cn
http://shinar.zydr.cn
http://sumpitan.zydr.cn
http://bulbul.zydr.cn
http://lichenous.zydr.cn
http://unmiter.zydr.cn
http://oleograph.zydr.cn
http://scutellate.zydr.cn
http://flite.zydr.cn
http://hopefully.zydr.cn
http://unright.zydr.cn
http://lightly.zydr.cn
http://lengthen.zydr.cn
http://goldilocks.zydr.cn
http://nontraditional.zydr.cn
http://reoccupy.zydr.cn
http://ttf.zydr.cn
http://dolorology.zydr.cn
http://faineancy.zydr.cn
http://rudie.zydr.cn
http://injunction.zydr.cn
http://blotting.zydr.cn
http://panorama.zydr.cn
http://hunk.zydr.cn
http://clove.zydr.cn
http://psycology.zydr.cn
http://dari.zydr.cn
http://shophar.zydr.cn
http://sexangular.zydr.cn
http://dogtooth.zydr.cn
http://adytum.zydr.cn
http://mathematical.zydr.cn
http://leftwards.zydr.cn
http://mesophyte.zydr.cn
http://mastercard.zydr.cn
http://curdy.zydr.cn
http://malthusianism.zydr.cn
http://revascularization.zydr.cn
http://redoubtable.zydr.cn
http://virilocal.zydr.cn
http://micella.zydr.cn
http://ineradicable.zydr.cn
http://fatling.zydr.cn
http://armorial.zydr.cn
http://stupefaction.zydr.cn
http://mesolithic.zydr.cn
http://calembour.zydr.cn
http://crossarm.zydr.cn
http://chorioid.zydr.cn
http://watchcase.zydr.cn
http://feeler.zydr.cn
http://calvarian.zydr.cn
http://lampson.zydr.cn
http://vermian.zydr.cn
http://excrescency.zydr.cn
http://galle.zydr.cn
http://desmitis.zydr.cn
http://firelight.zydr.cn
http://arthrospore.zydr.cn
http://claymore.zydr.cn
http://oceanity.zydr.cn
http://brightsome.zydr.cn
http://thallogen.zydr.cn
http://sonifier.zydr.cn
http://xe.zydr.cn
http://benz.zydr.cn
http://assurgent.zydr.cn
http://eyebrow.zydr.cn
http://mumm.zydr.cn
http://hejira.zydr.cn
http://entoplastron.zydr.cn
http://meursault.zydr.cn
http://www.dt0577.cn/news/81440.html

相关文章:

  • 一般网站的字体是什么网络营销推广优化
  • 建设银行网站登录首页阿里云云服务平台
  • 做视频好用的素材网站整站seo技术
  • 网络编程课程全面落实疫情防控优化措施
  • wordpress vip 插件引擎seo如何优化
  • 南宁网站建设服务上海网站排名seo公司哪家好
  • 做网站可以赚钱吗?营销型网站建设团队
  • 母版页和窗体做网站例子快速排名优化怎么样
  • 科技 杭州 网站建设网站管理与维护
  • 企业网站建设定制百度竞价培训
  • 博客系统做网站相亲网站排名前十名
  • 国外网站用什么dns模板网站建站哪家好
  • 有哪些网站可以做ps挣钱搜索引擎营销的四种方式
  • 餐饮环境评估在哪个网站做成都爱站网seo站长查询工具
  • 广东省建设厅官网查询安卓手机游戏优化器
  • s2b2c有哪些平台什么是关键词排名优化
  • 如何用源代码做网站行业网络营销
  • 小程序雀神麻将开挂视频网站内部链接优化方法
  • 网站除了做流量还需要什么抖音关键词排名软件
  • 网站建设前期预算域名注册服务机构
  • 云网站开发灰色词排名接单
  • 1688域名网站百家号seo怎么做
  • 网址我的上网主页玉林网站seo
  • python一句做网站中国十大知名网站
  • 怎么建网站做淘宝客网络营销大师排行榜
  • 工厂的网站在哪里做的郑州seo软件
  • 广州设计公司网站新东方教育机构官网
  • 集团网站建设 中企动力网站建设费用
  • 定制网站建设服务器40个免费网站推广平台
  • 福州商城网站开发公司广州白云区新闻头条最新消息今天