Browse Source

added the final

pull/17/head
jingxun 2 years ago
parent
commit
0b47164fd6
  1. 21
      day02/note/lesson006_jsx_rule.md

21
day02/note/lesson006_jsx_rule.md

@ -313,7 +313,7 @@ const VDOM = (
);
```
所以我们得到一个结论虚拟`DOM`中的任何一个标签都必须闭合。
所以我们得到一个结论虚拟`DOM`中的任何一个标签都必须闭合。
### `jsx`中的标签
@ -350,4 +350,21 @@ const VDOM = (
所以说,当我们在写`jsx`的时候,不要胡乱起标签,`HTML`中有哪些标签,我们就用哪些标签。
那么我们便可以得到一个结论:如果`jsx`中标签首字母小写,那么则将该标签渲染为`HTML`中同名标签,若无同名标签则会报错。如果`jsx`中标签首字母大写,那么`react`就去渲染对应的组件,若该组件没有定义,则报错。
那么我们便可以得到一个结论:如果`jsx`中标签首字母小写,那么则将该标签渲染为`HTML`中同名标签,若无同名标签则会报错。如果`jsx`中标签首字母大写,那么`react`就去渲染对应的组件,若该组件没有定义,则报错。
## 总结
- `jsx`是类似于`XML`的`js`扩展语法
- `jsx`的本质是`React.createElement(compoment,props,...children)`方法的语法糖。
- `jsx`可以使用`HTML`标签,但是`jsx`表达式中的的标签不是`HTML/XML`标签
- `jsx`内需要通过`{}`来对`js`表达式进行支持。
- `jsx`任何标签中`class`属性的指定必须用`className`来指定
- `jsx`内联样式必须使用`style={{key: value}}`的方式来写
- `jsx`虚拟`DOM`只允许有一个根标签。
- `jsx`虚拟`DOM`中的任何一个标签都必须闭合。
- `jsx`中的标签在被渲染时会检查标签首字母
- 如果`jsx`中标签首字母小写,那么则将该标签渲染为`HTML`中同名标签,若无同名标签则会报错。
- 如果`jsx`中标签首字母大写,那么`react`就去渲染对应的组件,若该组件没有定义,则报错。
以上就是`jsx`的一些核心规则。

Loading…
Cancel
Save