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

昆明网站推广优化公司jquery 选择 网站

昆明网站推广优化公司,jquery 选择 网站,广州番禺发布网,新手如何学代码一、什么是高阶组件 高阶组件#xff08; Higher-Order Component#xff0c;HOC #xff09;是一个以组件作为参数#xff0c;返回一个新组件的函数。 高阶组件最大的特点就是复用组件逻辑高阶组件本身并不是 React 的 API#xff0c;而是React组件的一种设计模式…一、什么是高阶组件 高阶组件 Higher-Order ComponentHOC 是一个以组件作为参数返回一个新组件的函数。 高阶组件最大的特点就是复用组件逻辑高阶组件本身并不是 React 的 API而是React组件的一种设计模式一种组件重用的高级技巧高阶组件是一个函数接收要包装的组件返回增强后的组件 二、如何实现一个高阶组件 高阶组件内部创建一个组件在这个组件中提供复用的状态逻辑代码通过props将复用状态传递给被包装组件 WrappedComponent 创建一个函数命名以 with 开头指定函数参数参数为组件所以参数应该以大写字母开头在函数内部创建一个组件提供复用的状态逻辑代码并返回在该组件中渲染参数组件同时将状态通过props传递给参数组件调用该高阶组件传入要增强的组件通过返回值拿到增强后的组件并将其渲染到页面中 function withMouse(WrappedComponent) {class Mouse extends React.Component {state {x: 0,y: 0,}render() {return (WrappedComponent {...this.state}/WrappedComponent)}}return Mouse }const Position props (div鼠标位置 {props.x}, {props.y}/div )const MousePosition withMouse(Position)MousePosition /三、高阶组件demo 代码 import React from react/*** 高阶组件*/// 获取组件名 // function getDisplayName(WrappedComponent) { // return WrappedComponent.displayName || WrappedComponent.name || Component // }// 创建高阶组件 function withMouse(WrappedComponent) {// 该组件提供复用的状态逻辑class Mouse extends React.Component {// 初始化statestate {x: 0,y: 0,}// 渲染UI可以将state和props 一起传递给组件render() {return (WrappedComponent {...this.state} {...this.props}/WrappedComponent)}// 组件挂载监听鼠标移动componentDidMount() {window.addEventListener(mousemove, this.handleMouseMove)}// 组件卸载移除监听componentWillUnmount() {window.removeEventListener(mousemove, this.handleMouseMove)}// 鼠标移动事件处理程序handleMouseMove e {this.setState({x: e.clientX,y: e.clientY,})}}// 设置displayName 这个为了调试区分用可以不设置// Mouse.displayName WithMouse${getDisplayName(WrappedComponent)}// 返回增强后的组件return Mouse }// 位置组件用来测试高阶组件 const Position props (divh2鼠标位置: {props.x}, {props.y}/h2MousePosition组件: 接收的参数 a {props.a}/div )// 猫抓老鼠组件用来测试高阶组件 const Cat props (divimgsrc{require(../../assets/images/cat.png)}alt猫height22pxstyle{{position: absolute,top: props.y - 10,left: props.x - 10,}}/MouseCat组件: 接收的参数 a {props.a}/div )// 获取增强后的组件 const MousePosition withMouse(Position) const MouseCat withMouse(Cat)// 使用 class MouseHigher extends React.Component {// 渲染增强后的组件render() {return (divMousePosition a111/MousePositionMouseCat a222/MouseCat/div)} }export default MouseHigher 效果
http://wiki.neutronadmin.com/news/115197/

相关文章:

  • 如何建立一个带论坛的网站九江网站开发
  • 网站文字特效深圳网站建设哪家口碑好
  • 网站建设用什么视频播放器网页设计与制作难不难
  • 兰州网站开发价格那个视频网站可以做桌面背景
  • 最佳线上网站制作模板网站建设客户问到的问题
  • 学校部门网站建设总结怎么宣传自己的平台
  • 广告网站设计怎么样住房建设和城乡管理局官网
  • 做属于公司的网站有什么好处wordpress id连续插件
  • 太原网站制作优化seo上海培训机构整顿
  • 淄博城乡建设局网站湖南政务服务网
  • 网络营销网站建设方案泉州高端网站建设
  • 旅游外贸网站建设推广外文网站设计
  • 外贸多语言网站建设推广工程竣工信息哪里可以查询
  • 网站建设中长出现的问题普洱市住房和城乡建设局网站
  • 坦洲网站建设wordpress建立栏目
  • 浙江省城乡和住房建设厅网站首页广西短视频运营是
  • 网站后台如何上传图片上海网络营销网站建设
  • 用php写的网站怎么把做的网页放网站
  • iis7建设网站网站做乘法表
  • 做网站答辩外贸网站制作
  • 昆明 五华 网站建设半路学网站建设难吗
  • 临沂网站开发公司电话珠海精品网站建设
  • 庆阳网站建设公司哪个公司做网站推广最好
  • 简答网站开发流程ui高级培训机构
  • 企业做网站的公司有哪些学校网站群建设设计
  • 网站建设情况 报告网页网站怎么做的吗
  • 广州新塘做网站网站编写语言
  • 北京 手机网站建设沂源网页定制
  • 岚县网站建设创世网站建设 优帮云
  • 中国网站开发企业信息查询系统官网湖北