使用JSX的注意事项

react中JSX是一种JavaScript + xml语法,用来建立虚拟DOM和声明组件。他能够更好的让咱们读、写模板或组件。vue

JSX语法浏览器是不识别的,须要经过babel 来进行转换成浏览器识别的代码react

JSX将虚拟DOM转换为真实DOM原理:数组

一、会基于babel-react-preset语法包,把 jsx变为React.createElement这种模式浏览器

二、经过createElement这个方法的执行生成一个对象(虚拟DOM对象)安全

{ key:null, ref:null, props:{}, type:'div' ... }

三、基于react-dom中render方法,把建立的JSX对象放到指定的容器中babel

//ReactDOM.render([JSX对象],[容器],[回调])

JSX的优点:dom

一、JSX执行更快
二、更安全,编译时能及时发现错误
三、JSX 编写模板更加简单快速函数

JSX的注意事项:spa

一、使用JSX时要引入React库code

二、jsx语法中只能有一个顶级标签(元素)

三、使用组件时,首字母必须大写

四、样式中 class, 写成 className

五、全部元素标签必须闭合(尤为单标签)

六、jsx表达式不能使用if else(可使用三元运算符)

七、在JSX中一般经过{} 的方式插入值,但设置style属性须要{{ }}

八、注释方式

ReactDOM.render( <div> {/*JSX 中的注释方式*/} </div>,
    document.getElementById('root') )

九、表单设置value默认值 要使用两种方式解决

//一、给表单元素加事件onChange(受控组件)

<input value="1" onChange={(ev)=>{}}/>

//二、定义默认值使用 defaultValue(非受控组件)

<input value="1" defaultValue="1">
表单元素若是设置一个默认值(基于state中状态)

十、JSX中的花括号{}

1) 能够听任意js代码 //与vue区别,vue{{}} react {}
2) {}会默认展开数组 好比[1,2,3,4] 打印出的 是 1234
3) 注释 {/**/} 在花括号里面注释 4) {}还能够声明函数,但不能直接调用 5) 输出数据时候,赋值给某个元素属性 //好比 value={a}
6) 设置style也用{},里面可放对象 //好比style={{width:'200px','height:100px'}}
相关文章
相关标签/搜索