zoukankan      html  css  js  c++  java
  • JSX本质

    1.JSX的使用

    class JSXBaseDemo extends React.Component {
        constructor(props) {
            super(props)
            this.state = {
                name: 'xiaoming',
                imgUrl: 'https://img1.mukewang.com/5a9fc8070001a82402060220-140-140.jpg',
                flag: true
            }
        }
        render() {
            // 获取变量 插值
            const pElem = <p>{this.state.name}</p>
            return pElem
    
            // 表达式
            const exprElem = <p>{this.state.flag ? 'yes' : 'no'}</p>
            return exprElem
    
            // 子元素
            const imgElem = <div>
                <p>我的头像</p>
                <img src="xxxx.png"/>
                <img src={this.state.imgUrl}/>
            </div>
            return imgElem
    
            // class
            const classElem = <p className="title">设置 css class</p>
            return classElem
    
            // style
            const styleData = { fontSize: '30px',  color: 'blue' }
            const styleElem = <p style={styleData}>设置 style</p>
            // 内联写法,注意 {{ 和 }}
            // const styleElem = <p style={{ fontSize: '30px',  color: 'blue' }}>设置 style</p>
            return styleElem
    
            // 原生 html
            const rawHtml = '<span>富文本内容<i>斜体</i><b>加粗</b></span>'
            const rawHtmlData = {
                __html: rawHtml // 注意,必须是这种格式
            }
            const rawHtmlElem = <div>
                <p dangerouslySetInnerHTML={rawHtmlData}></p>
                <p>{rawHtml}</p>
            </div>
            return rawHtmlElem
    
            // 加载组件
            const componentElem = <div>
                <p>JSX 中加载一个组件</p>
                <hr/>
                <List/>
            </div>
            return componentElem
        }
    }
    
    export default JSXBaseDemo

    2. JSX最终出来的是什么,是通过React.createElement函数来实现的,它的参数是怎么样的,最终返回的结果是什么,最终通过patch来渲染

                    通过React.createElement即h函数,返回vnode
                    第一个参数可能是元素,也可能是组件,通过 组件的首字母一定是大写来区分(react规定)

                    React.createElement('div',null,child1,child2,child3)
                    React.createElement('div',null,[child1,child2,child3])
                    React.createElement('List',null,child1,child2,"文本节点")
     
  • 相关阅读:
    pytorch实现rnn并且对mnist进行分类
    python中的list按照某一列进行排序的方法
    pytorch实现style transfer
    Pytorch基本变量类型FloatTensor与Variable
    Linux上统计文件夹下文件个数以及目录个数
    python调用caffe实现预测
    python调用caffe环境配置
    JS实现唤起手机APP应用,如果本地没有则跳转到下载地址
    PHP开发中使用的工具
    Linux安装redis服务
  • 原文地址:https://www.cnblogs.com/zhuMother/p/13236095.html
Copyright © 2011-2022 走看看