11.谈谈react16版本的Context

Context 设计目的是为了共享那些对于一个组件树而言是“全局”的数据,例如当前认证的用户、主题或首选语言。Context 主要应用场景在于很多不同层级的组件需要访问同样一些的数据。请谨慎使用,因为这会使得组件的复用性变差。

12.Consumer向上找不到Provider的时候怎么办

其实即使找不到也不会报错,而是显示为空。可以在**React.createContext(value)**中设置默认值。

13.怎么使用Consumer

首先使用React.createContext()创建一个context实例,每个 Context 对象都会返回一个 Consumer React 组件。Consumer里面不能直接渲染其他组件,而是要声明一个函数。函数的参数就是context的值

14.React15和16别支持IE几以上

React 支持所有的现代浏览器,包括 IE9 及以上版本,但是需要为旧版浏览器比如 IE9 和 IE10 引入相关的 polyfills 依赖

15.说说你对windowing的了解

Windowing 是一种技术,它在任何给定时间只呈现一小部分行,并且可以显著减少重新呈现组件所需的时间以及创建的 DOM 节点的数量。如果应用程序呈现长的数据列表,则建议使用此技术。react-window 和 react-virtualized 都是常用的 windowing 库,它提供了几个可重用的组件,用于显示列表、网格和表格数据。

16.举例说明React的插槽有哪些运用场景

17.你有用过React的插槽(Portals)吗?怎么用

18.React的严格模式有什么用处

StrictMode 是一个用来突出显示应用程序中潜在问题的工具。与 Fragment一样,StrictMode 不会渲染任何可见的 UI。它为其后代元素触发额外的检查和警告。

  • 识别不安全的生命周期
  • 使用过时字符串ref API的警告
  • 使用废弃的findDOMNode方法的警告
  • 检测意外的副作用
  • 检测过时的context API

    19.React如何进行代码拆分?拆分的原则是什么

    20.React组件的构造函数有什么作用