React 45 道面试题及答案 React 是一个流行的前端框架,用于构建用户界面。以下是 React 中的一些重要知识点: 1. Keys 的作用:Keys 是 React 用于追踪列表中元素被修改、被添加或被移除的辅助标识。在开发过程中,我们需要保证某个元素的 key 在其同级元素中具有唯一性。在 React Diff 算法中,React 会借助元素的 Key 值来判断该元素是新近创建的还是被移动而来的元素,从而减少不必要的元素重渲染。 2. setState 函数的第二个参数的作用:该函数会在 setState 函数调用完成并且组件开始重渲染的时候被调用。我们可以用该函数来监听渲染是否完成。 3. Refs 的作用:Refs 是 React 提供给我们的安全访问 DOM 元素或者某个组件实例的句柄。可以为元素添加 ref 属性,然后在回调函数中接受该元素在 DOM 树中的句柄该值会作为回调函数的第一个参数返回。 4. 生命周期中的 AJAX 请求:我们应当将 AJAX 请求放到 componentDidMount 函数中执行。主要原因是 React 下一代调和算法 Fiber 会通过开始或停止渲染的方式优化应用性能。 5. shouldComponentUpdate 的作用:shouldComponentUpdate 允许我们手动地判断是否要进行组件更新。根据组件的应用场景设置函数的合理返回值能够帮我们避免不必要的更新。 6. 如何告诉 React 编译生产环境版:通常情况下,我们会使用 Webpack 的 DefinePlugin 方法来将 NODE_ENV 变量值设置为 production。编译版本中 React 会忽略 propType 验证以及其他的告警信息,同时还会降低代码库的大小。 7. 事件处理逻辑:React 中的事件处理逻辑是为了解决跨浏览器兼容性问题。React 会将浏览器原生事件 Browser Native Event 封装为合成事件 SyntheticEvent 传入设置的事件处理器中。 8. createElement 与 cloneElement 的区别:createElement 函数是 JSX 编译之后用于创建 React Element 的函数,而 cloneElement 则是用于复制某个元素并传入新的 Props。 9. Redux 中间件:Redux 中间件提供第三方插件的模式,自定义拦截 action -> reducer 的过程。变为 action -> middlewares -> reducer。 10. Redux 的缺点:一个组件所需要的数据必须由父组件传过来,而不能像 Flux 中直接从 store 取。当一个组件相关数据更新时,即使父组件不需要用到这个组件,父组件还是会重新 render,可能会有效率影响或者需要写复杂的 shouldComponentUpdate 进行判断。
剩余40页未读,继续阅读
- 粉丝: 30
- 资源: 1844
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- BigData-Notes-sqoop的安装与配置
- C语言-leetcode题解之28-implement-strstr.c
- C语言-leetcode题解之27-remove-element.c
- C语言-leetcode题解之26-remove-duplicates-from-sorted-array.c
- C语言-leetcode题解之24-swap-nodes-in-pairs.c
- C语言-leetcode题解之22-generate-parentheses.c
- C语言-leetcode题解之21-merge-two-sorted-lists.c
- java-leetcode题解之Online Stock Span.java
- java-leetcode题解之Online Majority Element In Subarray.java
- java-leetcode题解之Odd Even Jump.java