Next学习手册(四)- React Core Concepts
九月 28, 2023
React Core Concepts
React有三个核心概念,需要熟悉这三个核心概念来构建React 应用程序。
- Components:构建块
- Props:支撑 / 道具
- State:状态
UI构建块
用户界面可以分解为称为组件的较小构建块。
组件允许构建自包含的、可重用的代码片段。
Next.js官方的比喻我认为很形象
- If you think of components as LEGO bricks, you can take these individual bricks and combine them together to form larger structures. If you need to update a piece of the UI, you can update the specific component or brick.
- 如果你把组件想象成乐高积木,你可以把这些单独的积木组合在一起,形成更大的结构。如果需要更新UI的一部分,可以更新特定的组件或块。
优点:使代码更容易维护
Creating components
在React中,组件就是函数, 在脚本标记中,编写一个名为header的函数:
1 | <script type="text/jsx"> |
组件是一个返回UI元素的函数。在函数的return语句中,可以编写JSX:
1 | <script type="text/jsx"> |
要将此组件渲染到DOM,可以将其作为ReactDOM.render()
方法中的第一个参数传递:
但是,React组件应该大写,以区别于普通的HTML和JavaScript。
1 | function Header() { |
其次,您使用React组件的方式与使用常规HTML标记的方式相同,带有尖括号<>。
1 | function Header() { |
Nesting Components
应用程序通常包含比单个组件更多的内容。您可以像普通HTML元素一样,将React组件嵌套在彼此内部。
创建一个名为HomePage的新组件:
1 | function Header() { |
然后将<Header>
组件嵌套在新的<HomePage>
组件中:
1 | function Header() { |
Component Trees
可以通过这种方式不断嵌套React组件以形成组件树。
顶级主页组件可以包含页眉、文章和页脚组件。每个组件都可以有自己的子组件等等。例如,Header组件可以包含Logo、Title和Navigation组件。
这种模块化格式允许在应用程序的不同位置重用组件, 在的项目中,由于<主页>现在是您的顶级组件,您可以将其传递给ReactDOM.render()
方法:
1 | unction Header() { |
查看评论