zoukankan      html  css  js  c++  java
  • 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: ' 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)
                    ])
                },
    

      

  • 相关阅读:
    MFC通过ODBC连接Mysql程序
    MFC下DLL编程(图解)
    INI文件的写入与读取
    如何在MFC中启动其它的(.exe)可执行文件
    [VC++]用CTime类得到当前日期、时间、星期,格式化(详细讲解)
    OutputDebugString输出调试信息到debugtrack
    MFC添加背景图片三种方法
    在MFC对话框中添加状态栏
    MFC 窗体背景图片设置
    MFC实现为窗体添加的背景图片
  • 原文地址:https://www.cnblogs.com/jiebba/p/11714152.html
Copyright © 2011-2022 走看看