-
JSX: Javascript xml是facebook为react开发的语法糖。
语法糖:糖衣语法,指计算机语言中添加的某种语法,这种语法对语言功能没有任何影响,但方便程序员的使用,主要目的增加程序的可读性,从而减少代码出错的机会。(js语法糖有JSX、typeScript,最终都会被解析为js)
-
React components 从创建至消失的生命周期及在生命周期内状态与属性的变化?
- 初始化initialization(constructor构造函数,初始化state及Props); mounted(包含componentWillMount及componentDidMount两个hook函数,仅执行一次):react
components被render解析生成对应的dom节点并被插入浏览器的dom结构的一个过程,即从浏览器上看到从无至有的过程); - update: (包含componentWillReceiveProps,shouldComponentUpdate,componentWillUpdate,render,componentDidUpdate)一个Mounted的render
components被重新render的过程,而重新渲染并不是指相应的react
dom结构一定发生变化,react会将components的当前state与最近一次的state进行对比,只有当state确实发生改变并且影响到了dom结构时react才会改变对应的dom结构。引发upadate的条件为(1.
父组件重新render,即props发生变化 ;2. setState)
shouldComponentUpdate:此方法通过比较nextProps,nextState及当前组件的this.props,this.state,返回true时当前组件将继续执行更新过程,返回false则当前组件更新停止,以此可用来减少组件的不必要渲染,优化组件性能。 - componentWillUnmount: 一个mounted的react componets对应的dom节点被从dom结构中移除的过程。
- 初始化initialization(constructor构造函数,初始化state及Props); mounted(包含componentWillMount及componentDidMount两个hook函数,仅执行一次):react
-
props与state的区别?
props是组件方在调用组件时指定的,Props一般不会发生变化 ,state私属于当前组件,是可变的。
面试题(react篇)
最新推荐文章于 2025-03-19 12:46:06 发布