简介
在这个项目中,你将学习如何创建一个名为 useWindowSize
的自定义 React Hook,以获取当前窗口大小,并使用它来有条件地在 Web 应用程序中渲染导航栏。
👀 预览

🎯 任务
在这个项目中,你将学习:
- 实现
useWindowSize
自定义 Hook 以获取当前窗口大小 - 在
App
组件中使用useWindowSize
Hook,根据窗口宽度更新导航栏
🏆 成果
完成这个项目后,你将能够:
- 创建一个自定义 React Hook 来封装可复用的功能
- 利用
useState
和useEffect
Hook 来管理状态和副作用 - 根据当前窗口大小有条件地渲染组件
Skills Graph
%%%%{init: {'theme':'neutral'}}%%%%
flowchart RL
react(("React")) -.-> react/FundamentalsGroup(["Fundamentals"])
react(("React")) -.-> react/AdvancedConceptsGroup(["Advanced Concepts"])
javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"])
react(("React")) -.-> react/StateManagementGroup(["State Management"])
javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"])
react/FundamentalsGroup -.-> react/event_handling("Handling Events")
react/FundamentalsGroup -.-> react/conditional_render("Conditional Rendering")
react/AdvancedConceptsGroup -.-> react/hooks("React Hooks")
javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions")
react/StateManagementGroup -.-> react/use_state_reducer("Using useState and useReducer")
javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation")
javascript/DOMManipulationGroup -.-> javascript/event_handle("Event Handling")
subgraph Lab Skills
react/event_handling -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
react/conditional_render -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
react/hooks -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
javascript/higher_funcs -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
react/use_state_reducer -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
javascript/dom_manip -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
javascript/event_handle -.-> lab-300136{{"使用自定义 React Hook 实现响应式导航"}}
end