react知识点50题1.React中按键的作用。keys是react的辅助标签,用于跟踪哪些元素被修改、添加或删除2.调用setState后发生的事情React会将传入的参数对象和组件的当前状态合并,根据新的状态构建一个新的react元素树,计算新react树和旧树的差异,根据差异最小化将界面渲染到最小3.react生命周期初始化阶段:getDeaultProps(获取实例的默认props)getInitialState(获取初始状态eachinstance)componentWillMount(组件即将挂载并渲染到页面上)render(组件在这里产生虚拟DOM)componentDidMount(组件挂载最后一般会在这里调用ajax请求)运行阶段:componentWillReceieveProps(调用时组件要接收属性)shouldComponentUpdate(当组件接受新状态或新属性时;返回false,接受的数据不更新,否则更新数据)componentwillUpdate(组件即将更新)render(组件即将更新)componentDidUpdate(组件已更新)销毁状态:componentWillUnMount(组件即将更新)destroyed)上面是Reactv16之前的生命周期,下面是新的生命周期4.React中的refs是什么?Dom元素可以通过refs访问和操作。5、react中显示组件和容器组件有什么区别显示组件主要负责组件内容如何显示props接收父组件传来的数据大多数组件可以通过函数来??定义声明容器组件主要关注如何组件数据与自身状态交互,从服务器获取数据,或者与redux等其他数据处理模块协作。组件声明通过类定义,包括生命周期函数和其他附加方法。6、为什么建议传参给setStateAdvice是回调而不是对象?因为this.props和this.state的更新是异步的。7.类组件和功能组件有什么区别?功能组件类组件是否有这个×√是否有生命周期×√是否有状态×√8.状态state和props属性的区别State是一种数据结构,使用时需要的数据的默认值组件挂载,状态可读可写props是指属性,从父组件传递给子组件,props对于子组件是不可变的。props是只读的,state是可读可写的。9.受控组件受控组件中的值是通过state获取的,同时通过onChange事件改变state中的值。具有这种特性的组件称为受控组件,否则,非受控组件通过refs10操作真实的DOM。调用super(props)的purpose子类没有自己的this对象,只能通过调用super(props)来获取11.react中如何配置多个代理在package.json格式设置proxy"proxy":{"/api/RoomApi":{"target":"http://open.douyucdn.cn","changeOrigin":true},"/api/v1":{"target":"http://capi.douyucdn.cn","changeOrigin":true}}12.react和vue的区别在于virtualDOM不同。Vue会在不重新渲染整个组件树的情况下跟踪每个组件的依赖关系。对于React来说,每次应用的状态发生变化时,所有的组件都会重新渲染,所以在React中需要shouldComponentUpdate生命周期函数方法来控制组件。即把HTML和CSS全部写成JavaScript,也就是‘allinjs’;Vue推荐webpack+vue-loader的单文件组件格式,即html、css、js写在同一个文件中;数据绑定:Vue实现了数据的双向绑定,React的数据流向是单向的。状态对象在react应用中是不可变的,需要使用setState方法来更新状态;在vue中,state对象不是必须的,data由vue对象管理中的data属性决定;
