React 45 道面试题及答案.docx
需积分: 0 142 浏览量
更新于2023-07-08
收藏 135KB DOCX 举报
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 进行判断。
心是凉的
- 粉丝: 30
- 资源: 1844
最新资源
- 基于redis全站抓取资料齐全+文档+源码.zip
- 基于pybullet和stable baseline3 的法奥机械臂的强化学习抓取训练代码资料齐全+文档+源码.zip
- 基于Redis实现的一套分布式定向抓取工程。资料齐全+文档+源码.zip
- 基于RSS订阅自动抓取文章生成站点,这是个实验性功能。资料齐全+文档+源码.zip
- 基于scrapy+selenium+phantomjs的爬虫程序,用于抓取多个学校的学术报告信息资料齐全+文档+源码.zip
- 基于scrapy的danbooru图片抓取工具资料齐全+文档+源码.zip
- 基于scrapy的上市公司信息抓取工具资料齐全+文档+源码.zip
- 基于Scrapy框架,用于抓取新浪微博数据,主要包括微博内容,评论以及用户信息资料齐全+文档+源码.zip
- 基于scrapy的时尚网站商品数据抓取资料齐全+文档+源码.zip
- 基于scrapy框架使用redis实现对shopee商城的增量抓取资料齐全+文档+源码.zip
- 基于Scrapy爬虫对某守望先锋网站数据的动态抓取资料齐全+文档+源码.zip
- 基于scrapy实现几大主流司法拍卖网站抓取资料齐全+文档+源码.zip
- 基于Selelium图片抓取资料齐全+文档+源码.zip
- 基于swoole扩展的爬虫,php多进程多线程抓取资料齐全+文档+源码.zip
- 基于Thinkphp5实现数据信息抓取、基于整理的API接口 + 招聘信息抓取(前程无忧智联招聘boss直聘拉勾网)数据接口 + 新闻分类(头条军事娱乐体
- FSCapture Ver. 8.9:屏幕截图与录制工具,图像编辑与快捷键支持,支持全屏、窗口、区域截图,滚动截图与视频录制,自动上传与FTP上传,适用于教学、设计、技术支持与文档制作