react常用面试题
1、描述对react理解?
react是一个用于构建用户界面的JS库。
react主要用于构建UI。很多人认为 React 是 MVC 中的 V(视图)。
react起源于:Facebook的内部项目,用来架设instagram网站,于2013年5月。
2、react特点?
(1)声明式设计
(2)高效:通过对DOM的模拟,最大限度的减少与DOM的交互。
(3)灵活:可以与已知的框架或库很好的配合。
(4)JSX:是js语法的扩展,不一定使用,但建议用。
(5)组件:构建组件,使代码更容易得到复用,能够很好地应用在大项目的开发中。
(6)单向响应的数据流:React实现了单向响应的数据流,从而减少了重复代码,这也是解释了它为什么比传统数据绑定更简单。
3、React中如何定义初始状态 ?
State和Props
State主要用于更新界面,组件的State属性在生命周期函数 getInitialState中初始化,当调用组件的this.setState改变state的时候,组件会重新渲染刷新。Props主要用于组件之间传递数据,也就是标签的属性 这里的pname属性就可以在MyText中通过this.props.pname得到
4、JSX的有什么优点?
1、JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。
2、它是类型安全的,在编译过程中就能发现错误。
3、使用 JSX 编写模板更加简单快速。
5、如何创建虚拟DOM、组件?
Var Com=React.createClass({render(){return ()}})
6、数组如何渲染到页面?
ReactDOM.render(
组件,
Domcoment.getElementById()
)
7、构建view视图用哪个函数?
render: function () {}
8、什么是组件?
通过React.creatClass({})定义一个组件的
可以通过this.props对象传递数据
9、通过什么方法定义一个组件?
Let Hello = react.createClass({ })
ReactDOM.render(Hello,document.getElementById(“app”)
10、class是js中的保留字,所以用什么方法创建一个类名?
class App extends Component{}
export default App;
11、render函数中,如果多个元素嵌套时需要注意什么?
代码中嵌套多个HTML标签 ,需要使用一个标签元素包裹
12、写事件是需要注意哪些问题?
map函数渲染的子元素绑定
事件冒泡的问题
页面传递参数问题
获取页面参数问题
13、什么是state?
是一个状态机,根据数据的改变更新视图
14、state怎么设置默认值?
getInitialState(){}
15、在哪个函数中修改状态?
setState((state)=>{})
16、props和state区别是什么?
Props是一个属性值,里面数据是不能改变的
State是一个状态机,根据数据的改变更改视图
17、用什么获取组件中定义的属性?
this.state
18、简述一下ref属性?
是一个非常特殊的属性,可以用来绑定到render()输出的任何组件上,允许引用render()返回的相应的支撑案例,用来确保任何时间总是拿到正确的实例
19、Ref属性有什么优点?
可以用来绑定render输出的任何组件
20、Ref怎么获取支撑实例?
通过this.refs获取属性