博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
reactJS -- 10 独立组件间共享Mixins
阅读量:5920 次
发布时间:2019-06-19

本文共 1020 字,大约阅读时间需要 3 分钟。

hot3.png

一. 概述(ES6不支持,需要插件)

1.虽然组件的原则就是模块化,彼此之间相互独立,但是有时候不同的组件之间可能会共用一些功能,共享一部分代码。所以 React 提供了 mixins 这种方式来处理这种问题。

2.Mixin 就是用来定义一些方法,使用这个 mixin 的组件能够自由的使用这些方法(就像在组件中定义的一样),所以 mixin 相当于组件的一个扩展,在 mixin 中也能定义“生命周期”方法。

3.React 的 mixins 的强大之处在于,如果一个组件使用了多个 mixins,其中几个 mixins 定义了相同的“生命周期方法”,这些方法会在组件相应的方法执行完之后按 mixins 指定的数组顺序执行。

二.事例

使用需要引入插件: 

安装依赖包 :

npm install --save react-mixin@2

在所有组件间都可以调用同一个log 方法。

1.创建 Minxins.js 

const MixinLog{  log(){    console.log("abcd......");  }};export default MixinLog; //暴露出来

2.在bodyindex 中引入 Minxins.js

import react-mixin from 'react-mixin';import MixinLog from './Mixins.js';

3.将方法加入到BodyIndex类中

BodyIndex.propTypes = {  userId : React.PropTypes.number.isRequired, //必须参数}BodyIndex.defaultProps = defaultProps; // 默认值ReactMixin(BodyIndex.prototype, MixinLog);

4.调用生命周期函数

const MixinLog = {  //调用生命周期函数  componentDidMount(){      console.log("componentDidMount.log");  },  log(){    console.log("abcd......");  }};export default MixinLog; //暴露出来

转载于:https://my.oschina.net/u/2991733/blog/1154041

你可能感兴趣的文章
VMware14虚拟机秘钥
查看>>
邮件系统服务器搭建记录(四)(Postfix+Cyrus-sasl+Courier-authlib+Dovecot+ExtMail+MySQL)...
查看>>
linux下IPTABLES配置详解
查看>>
我的友情链接
查看>>
VS 2010编译Gh0st 3.6(一)
查看>>
HPC集群系统结构
查看>>
Android应用程序安装过程源代码分析(2)
查看>>
我的友情链接
查看>>
postgresql
查看>>
linux-GRUB启动流程
查看>>
c#比赛回来
查看>>
CentOS yum 源的配置与使用
查看>>
cisco show interfaces详解
查看>>
浅谈Silverlight系统支持
查看>>
c经典100例【python完成】
查看>>
Nginx反向代理Tomcat的配置方法
查看>>
excel中index和match的用法
查看>>
Cacti监控tomcat操作步骤
查看>>
cacti安装与配置
查看>>
第二章 linux用户权限的设置与更改
查看>>