React 的高级用法(Children、Component、createElement、cloneElement)
React.Children
props.children 代表了所有的子节点。
React.Children 用于处理 props.children 的
提供了几个方法 ( map ,foreach )
遍历所有的子节点,并且配合 React.cloneElement / React.createElement 使用
React.PureComponent / React.Component
通过 ES6 继承创建组件的两种方式:一个是未深度检查和深度检查
其他创建组件方法:
React.createClass({}) 移除
无状态组件
React.createElement
React.createElement
实时创建一个直接创建一个组件
React.createElement(
type,
[props],
[...children]
)
React.cloneElement
克隆要给组件,备用
React.cloneElement(
element,
[props],
[...children]
)
vue 直接用方法创建dom
render(createElement) {
return createElement('section', {
style: '',
attrs: {
style: 'width: 100%;height: 100%;overflow: hidden;position: relative',
},
ref: 'box'
}, [
createElement('section', {
style: '',
attrs: {
style: '-webkit-transition: all 0s;transition: all 0s;-webkit-transform: translate(0,0);transform: translate(0,0);height: 100%',
},
ref: 'slideBox'
}, [
this.$slots.default,
this.$slots.default,
this.$slots.default,
]),
(this.pagination ? createElement('div', {
attrs: {
class: 'jt-com-flex jt-com-center pagination',
},
}, (() => {
const pag = []
for (let i = 0; i < itemLength / 3; i++) {
pag.push(createElement('p', {
'class': {
active: Math.abs(this.index % 3) === i,
},
}))
}
return pag
})()) : null)
])
},
React 的高级用法(Children、Component、createElement、cloneElement)的更多相关文章
- react第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件)
第七单元(组件的高级用法-组件的组合(children的用法)-高阶组件-封装组件) #受控组件 简而言之,就是受到状态state控制的表单,表单的值改变则state值也改变,受控组件必须要搭配onc ...
- 再谈Newtonsoft.Json高级用法
上一篇Newtonsoft.Json高级用法发布以后收到挺多回复的,本篇将分享几点挺有用的知识点和最近项目中用到的一个新点进行说明,做为对上篇文章的补充. 阅读目录 动态改变属性序列化名称 枚举值序列 ...
- 你不可不知的 React Native 混合用法(Android 篇)
前言 当前 React Native 虽说版本更新比较快,各种组件也提供的很全面了,但是在某些情况下,混合开发的方式才会快速缩短开发周期,原因无非就是原生平台的"底蕴"无疑更深,拥 ...
- 爬虫—Requests高级用法
Requests高级用法 1.文件上传 我们知道requests可以模拟提交一些数据.假如有的网站需要上传文件,我们也可以用requests来实现. import requests files = { ...
- vue keep-alive保存路由状态2 (高级用法,接上篇)
接上篇 https://www.cnblogs.com/wangmaoling/p/9803960.html 本文很长,请耐心看完分析. 4.高级用法,指定从什么组件进入才缓存,以及销毁缓存:先介绍我 ...
- django基础之day05,F与Q查询,Q查询的高级用法
#F与Q查询 #*************************** F 查询 ******************** # F 查询数据库中的其他字段!!! #1.查询库存数大于卖出数的书籍 fr ...
- vue路由高级用法
五.路由设置高级用法alias 别名 {path:'/list',component:MyList,alias:'/lists'}redirect 重定向 {path:'/productList',r ...
- React Context 的用法
在React的官方文档中,Context被归类为高级部分(Advanced),属于React的高级API,但官方并不建议在稳定版的App中使用Context. The vast majority of ...
- Visual Studio 宏的高级用法
因为自 Visual Studio 2012 开始,微软已经取消了对宏的支持,所以本篇文章所述内容只适用于 Visual Studio 2010 或更早期版本的 VS. 在上一篇中,我已经介绍了如何编 ...
随机推荐
- 监听localStorage中的数据变化
问题描述:我们在js里面获取了某一个localstorage的值,但是后期它可能改变了,我们js只执行一遍没办法再次获取它的值,当然可以刷新页面获取,但如果是我们的但页面就不能刷新页面了,此时:我们可 ...
- OpenCV 学习笔记(5) 使用opencv打开笔记本摄像头
#include "stdafx.h" #include <opencv2\opencv.hpp> #include <iostream> #include ...
- yugabyte 安装pg extention
前段时间在学习yugabyte 发现yugabyte 是直接复用了pg server的源码,所以当时就觉得大部分pg extension 也是可用. 今天看到了官方文档中有关于如何安装的,发现还得多看 ...
- 关于singer elt 的几篇很不错的文章
以下是链接来自singer 团队的实践,很不错,值得学习 参考连接 https://www.stitchdata.com/blog/100-billion-records-later-refining ...
- 洛谷 P1879 [USACO06NOV]玉米田Corn Fields 题解
P1879 [USACO06NOV]玉米田Corn Fields 题目描述 Farmer John has purchased a lush new rectangular pasture compo ...
- sharding-jdbc使用笔记
核心概念: 1.逻辑表:水平拆分的数据库(表)的相同逻辑和数据结构表的总称.例,根据主键尾数拆分为10张表,分别是t_order_0到t_order_9,他们的逻辑表名为t_order 2.真实表:在 ...
- Mybatis27题
1.什么是Mybatis? Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动.创建连接.创建statement等繁杂 ...
- [技术博客]nginx 部署 apt 源
[技术博客] nginx 部署 apt 源 出于各种各样的原因, 有时需要自己配置apt源, 比如发布自己编写的debian软件包, 内网中只有一台电脑可以访问外网,或者在本地配置自己的apt源.我们 ...
- java实现的一个【快速排序 】算法【原创】
import java.util.Arrays; import org.apache.commons.lang.ArrayUtils; public class Test { public stati ...
- pom.xml activatedProperties --spring.profiles.active=uat 对应
<profiles> <profile> <id>dev</id> <properties> <!-- 环境标识,需要与配置文件的名称 ...