BFE.devAI解答 - React 小测验
9. React re-render 6 - Context
这段代码的输出顺序是什么?
输出顺序是:
- "App"
- "A"
- "B"
- "C"
- "B"
- "D"
说明:
- 首先渲染
<App/>,调用App组件,输出 "App"。 - 在
App组件内部,渲染<A>组件。调用A组件,输出 "A"。在A组件内部,调用useEffect,并根据依赖数组为[]更新state状态。由于此时state为0,因此更新后state变为了1。 <B>组件被渲染,由于使用了useContext,因此可以获取到MyContext在A组件中提供的state值(即1)。因此输出 "B"。<C>组件被渲染,输出 "C"。<B>组件被卸载,因此输出 "B"。<D>组件被渲染,输出 "D"。