Jsx简介与元素渲染
Jsx
Javascript
的一种语法扩展
Jsx
是一种JavaScript
的语法扩展,它可以是变量,可以是表达式,可以使用部分函数,总之,Jsx
有着诸多表现方式
JSX
的特性更接近JavaScript
而不是HTML
, 所以React DOM
使用camelCase
小驼峰命名来定义属性的名称,而不是使用HTML
的属性名称</li>
- 而非采用连接符
-
function jsx () {
const val = <h3>val</h3>
const exp = <h4>{1+1}</h4>
const str = <h5>{'string'}</h5>
const fun = () => {return 'function'}
const funCall = <div>{fun()}</div>
const ele = <div tabIndex="0"></div>
const ele2 = <div dataIndex={val}></div>
return (<div>jsx</div>)
}
React渲染
React
最终将一个组件,渲染到指定的根Dom
节点中,通过 ReactDOM.render
方法
ReactDOM.render(<App />, document.getElementById('root'));
转换依据(要考)
Babel
是会将 JSX
转换成一个名为 React.createElement
的方法调用的
- 故下面的代码是完全相同的
const ele = <h1 class='foo'>Hello</h1>
const ele = React.createElement(
'h1',
{class: 'foo'},
'Hello'
)