1.什么是Vuex?
Vuex 是一个专为 Vue.js 应用程序开发的状态管理插件。它采用集中式存储管理应用的所有组件的状态,而更改状态的唯一方法是提交mutation,例this.$store.commit('SET_VIDEO_PAUSE', video_pause
,SET_VIDEO_PAUSE
为mutations属性中定义的方法 。
2.为什么浏览器不能读取 JSX?
浏览器只能解决 JavaScript 对象,而不能读取惯例 JavaScript 对象中的 JSX。所以为了使浏览器
可能读取 JSX,首先,须要用像 Babel 这样的 JSX 转换器将 JSX 文件转换为 JavaScript 对象,而后再将其传给浏览器
3.什么是JSX?
是由React 团队开发的 是React的核心组成部分,它使用XML标记的方式去直接声明界面,界面组件之间可以互相嵌套
4.当你调用 setState 的时候,发生了什么事?
将传递给的对象合并到组件的当前状态,这将启动一个和解的过程,构建一个新的 react 元素树,与上一个元素树进行对比( diff ),从而进行最小化的重渲染。
5.React组件生命周期的阶段是什么?
初始化阶段 运行中阶段 销毁阶段
6.React 中 refs 的作用是什么?
refs是React中用来取得某个JSX组件或者某个DOM中的一些状态值的时候,用来获取节点的方法
7.类组件(Class component)和 函数式组件(Functional component)之间有何区别?
1. 类式组件用类定义,函数式组件用函数定义
2. 类式组件有生命周期,函数式组件没有
3.函数式组件有状态管理和hooks,类式组件没有
4.function 组件与 class 组件最大的不同是 function 组件能够捕获渲染的值,而 class 组件因为 react 中 this 是可变的,所以总是能获取最新的 props
8.解释 React 中 render() 的目的?
每个 React 组件强制要求必须有一个 render()。它返回一个 React 元素,是原生 DOM 组件的表示。如果需要渲染多个 HTML 元素,则必须将它们组合在一个封闭标记内 。
例如<form>、<group>、<div>等。此函数必须保持纯洁,即每次调用时必须返回相同的结果。
9.什么是 Props?
Props是属性的缩写,它是单个值,是在父组件中定义或已经在state中的值,并将这些值传递给其子组件。props本身是不可变的,但可以通过触发state的变化,反过来改变props本身的值。
10.什么是Redux
在React中,数据在组件中是单向流动的,数据从一个方向父组件流向子组件(通过props), 所以,两个非父子组件之间通信就相对麻烦,redux的出现就是为了解决state里面的数据问题