ReactDOM.render( <div> {/*JSX 中的注释方式*/} </div>, document.getElementById('root') )
ReactDOM.render( <div> </div> <p></p>, document.getElementById('root') )
ReactDOM.render( <div> <input type="text" /> <img src="" /> </div>, document.getElementById('root') )
... ... import Banner from ./Banner ReactDOM.render( <div> <Banner /> </div>, document.getElementById('root') )
{}
的方式插入值,可是设置style属性须要{{ }},
而且遇到-分割的属性时,使用小驼峰的写法,如:text-align
ReactDOM.render( <div style={{background:red;}}> { 1+2 } <div style={{ padding: 30, textAlign: 'center' }}> 456 </div> </div>, document.getElementById('root') )
由于jsx最终要转成js进行编译,所以html标签上的属性名与JavaScript关键字和保留字相冲突的都须要作一些变化,其规则同js中操做dom属性时同样:css
通常来讲,在使用js操做标签属性时,若出现与JavaScript关键字和保留字相冲突的状况,除html标签class(转为className)之外的属性,在属性前加上小写的html便可,如html
html标签的class在jsx语法中变为 className,html标签的for属性(如:<label for="msg" ></label>)在jsx中变为<label htmlFor="msg" ></label>,react
ReactDOM.render( <div className="tips"> <label htmlFor="name" ></label> </div>, document.getElementById('root') )
... ... import classes form './myCss.css' ReactDOM.render( <div className={classes['mycss']}> </div>, document.getElementById('root') )
constructor{ this.fun = this.fun.bind(this) } //或 onClick = {() => ()} //绑定的事件名小驼峰写法 onClick = {this.fun.bind(this)}