diff --git a/13-React基础/02-JSX语法介绍.md b/13-React基础/02-JSX语法介绍.md index 3e4df82..6af84b0 100644 --- a/13-React基础/02-JSX语法介绍.md +++ b/13-React基础/02-JSX语法介绍.md @@ -25,7 +25,7 @@ JSX:JavaScript XML,一种类似于XML的JS扩展语法。也可以理解成 运行 cnpm i babel-preset-react -D ``` -我们可以通过这个babel包,将 JSX语法 转换为 JS语法。 +这个babel包的作用是:将 JSX语法 转换为 JS语法。 安装完成后,就可以开始使用JSX语法了。 @@ -233,7 +233,6 @@ React在解析所有标签的时候,是以标签的首字母来区分的:如 **结论**:组件的首字母必须大写。 - ### 父组件传值给子组件 代码举例: @@ -288,20 +287,8 @@ React在解析所有标签的时候,是以标签的首字母来区分的:如 ``` - 上方代码中,我们是想把整个person对象传递给子组件,所以采用了`...Obj 语法`语法。传递给子组件后,子组件获取的数据仅仅只是可读的。 -### 以文件夹的形式创建子组件 - -在实际开发中,我们通常会专门新建一个 components 文件夹,来定义子组件。 - -文件结构如下: - -代码如下: - -(1)components/hello.jsx: - - ## class 关键字的介绍 面向对象语言的三个特性:封装、继承、多态。多态 和 接口、虚拟方法有关。 @@ -310,7 +297,6 @@ React在解析所有标签的时候,是以标签的首字母来区分的:如 myclass.js: - ```javascript // 以前学习的:使用构造函数创建对象 function Person(name, age) { @@ -393,6 +379,9 @@ c1.say(); ``` +注意上方 `constructor`处的注释:当使用 extends 关键字实现了继承, 子类的 constructor 构造函数中,必须显示调用 super() 方法,这个 super 表示父类中 constructor 的引用。也就是说,在子类当中,要么不写 constructor,如果写了 constructor,就一定要把 `super()`也加上。 + +为啥我们要引入 `class`这个功能?就是因为, `class`里,永远都存在着一个 constructor。我们可以利用 `constructor`做很多事情。 ## 创建组件的第二种方式:使用 class 关键字 @@ -452,6 +441,92 @@ index.html: ``` +### 父组件传值给子组件 + +代码举例: + +index.html: + +```html + + +
+ + + +