react框架基础问题(按需导入?)

React是近几年来前端项目开发非常火的一个框架,其背景是Facebook团队的技术支持,市场占有率也很高。很多初学者纠结一开始是学react还是vue。个人觉得,有时间的话,最好两个都掌握一下。

(5)数据流解决方案redux

react的优缺点以及特点

ponent创建的组件,其成员函数不会自动绑定this,如果我们没有手动绑定this,就不能获取当前组件实例对象。

ponent有三种手动绑定方法

如何选择哪种方式创建组件

只要有可能,尽量使用无状态组件。

如果需要state、生命周期方法等,使用class的创建组件

react在哪个生命周期做优化?

因为 dom 的重绘非常消耗性能,所以可以在这个方法中去做dom的diff算法的优化,这样就可以极大的提高性能。

但对于我们中级工程师来说,一般我不会去修改shouldComponentUpdate这个方法。而是直接去使用。True/false

react组件间传值。(组件间通信方式)

   (1)props传值,父组件通过props向子组件传值,子组件通过回调函数向父组件传值

跨级组件间双向通信:使用 context 对象,根组件和其他所有子孙通信,

不太适合组件间通信(可以实现,不好维护)

   (4)使用事件订阅实现非嵌套组件间通信,也可以实现跨级组件间通信

props:一般用于父组件向子组件通信,在组件之间通信使用。

state:一般用于组件内部的状态维护,更新组件内部的数据状态,更新子组件的props等。

在react如何阻止冒泡事件?

阻止冒泡事件分两种情况

补充:如何阻止事件冒泡、阻止默认动作?

对react中事件机制的理解

Reac事件是合成事件,不是原生事件。

合成事件和原生事件的区别:

在React中如何获取真实dom?

通过refs获得 DOM 元素或者某个组件实例。

我们可以为元素添加 ref 属性,在回调函数中接收该DOM元素,该DOM元素会作为回调函数的第一个参数返回。

为什么虚拟DOM可以提高性能?

当数据变化的时候,无需整体的重新渲染,而是局部刷新。虚拟DOM它是以js的形式存在,计算性能会比较好。而且由于减少对真实DOM的操作次数。性能会有很大提升。

diff算法原理 / 什么是diff算法(diff算法的理解)

对新旧两棵DOM树进行同层比较。

给每层元素添加唯一的 key 值。提高diff算法效率。

调用组件setState 方法的时候, React 将它标记为 dirty.到每一个事件循环结束, React 检查所有标记 dirty 的组件 重新渲染.这样就实现了局部刷新的效果。

在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯一性。在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是新近创建的还是被移动而来的元素,从而减少不必要的元素重渲染。此外,React 还需要借助 Key 值来判断元素与本地状态的关联关系,因此我们绝不可忽视转换函数中 Key 的重要性。

}

我要回帖

更多关于 react前端框架 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信