jsx及其语法.md

  <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.0.17/browser.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.4.0/umd/react.production.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.4.0-alpha.3174632/cjs/react-dom.production.min.js"></script>
<body>
  <div id="app"></div>  // 需要一个根容器
  <script type="text/babel">
    let oApp = document.getElementById('app'); // react接管的根组件
    ReactDom.render(<span keys='222'>hello world</span>,oApp)
    //React.creatElement(''span",{keys:222},"hello world")
  </script>
</body>
</html>

jsx 是通过js和xml实现的, 所以更偏向于js语言风格,有以下注意点

- jsx创建的组件,必须有且仅有一个父级
- 单标签必须闭合
- class要写成className
- label中for要写成htmlFor
空标签组件Fragement
dangerouslySetInnerHTML={{__html: item}}
{/* 注释 */}

jsx语法

jsx基本语法

ReactDOM

import React from 'react'
import ReactDOM from 'react-dom'

let content = <h1>jsx...</h1>

ReactDOM.render(jsx,document.getElementById('root'))

样式处理

// style样式要写成对象形式
let jsx = <div style={{fontSize: 14px;}}></div>

// 当是真实项目中还是使用className='jsx'

import './index.css'

数据逻辑处理

let name = 'Rosen'
let name = ['Rosen','Jack','xiaolong']

let flag = true
// 条件判断
let jsx = (
  <div>
    {/*  条件判断 */}
    {
       flag?<p>I am {name}</p>:<p> I am not {name}</p>
    }
    {/* 数组循环 */}
    {
      names.map((name,index)=><p key={index}>Hello I am {name}</p>)
    }
  </div>
)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 005@关于JSX语法 转(有所更改):React入门:关于JSX语法可以参考的资料:React.js学习笔记之J...
    蓦然之间的阅读 942评论 0 0
  • 40、React 什么是React?React 是一个用于构建用户界面的框架(采用的是MVC模式):集中处理VIE...
    萌妹撒阅读 1,052评论 0 1
  • 以下内容是我在学习和研究React时,对React的特性、重点和注意事项的提取、精练和总结,可以做为React特性...
    科研者阅读 8,292评论 2 21
  • JSX是React的核心组成部分,它使用XML标记的方式去直接声明界面,界面组件之间可以互相嵌套。可以理解为在JS...
    可乐爱上咖啡阅读 72,069评论 1 63
  • 构造函数和实例的关系:用构造函数来实例化一个对象,实际上就是把构造函数拷贝了一份给实例。外加一个原型属性,指向实例...
    frankisbaby阅读 627评论 0 0