一、在项目中使用React:
https://blog.csdn.net/duansamve/article/details/104128357
二、虚拟DOM:
三、JSX:
在项目中使用JSX语法:
https://blog.csdn.net/duansamve/article/details/104127759
JSX语法的本质:
并不是直接把JSX渲染到页面中,而是内部先转换成了CreateElement形式再渲染。
在JSX中混合写入JS表达式:
在JSX语法中,要把JS代码写在{}中。
四、创建组件的两种方式:
render:
作用:用于将JSX渲染到页面中。
注意:
a、在组件中是必须要实现的;
b、只在state改变后触发。
1、构造函数:
2、class:
具体实现:
补充:
两种创建方式的对比:
1、用构造函数创建的组件叫“无状态组件”;
2、用class关键字创建的组件叫“有状态组件”;
3、有状态组件和无状态组件的本质区别是:有无state属性和有无生命周期函数。
有状态组件有自己的私有数据和生命周期函数;
无状态组件只有props,没有自己的私有数据和生命周期函数;
4、什么情况下使用有状态组件,什么情况下使用无状态组件?
一个组件如果需要有自己的私有数据,则推荐使用有状态组件,反之则推荐使用无状态组件;
无状态组件因为没有自己state和生命周期函数,所以运行效率会比有状态组件稍高。
5、组件中props和state的区别:
props中的数据都是外界传递进来的,state中的数据都是组件私有的(一般是通过ajax取回来的);
props中的数据都是只读的,不能重新赋值,state中的数据是可读写的。
五、state(状态):
1、state在组件的constructor里外初始化是一样的,state都是挂载在组件实例上;
2、state只能使用setState()方法更新;
3、setState会导致render重新执行,渲染组件和子组件。
六、props:
七、事件处理:
React中事件处理时很容易出现this指向的问题,推荐使用以下标准写法避免此类问题:
八、组件生命周期:
九、class组件内部的this:
class组件内部的this表示当前组件的实例对象。