在 React 中,组件就像用户界面 (UI) 的构建块。将其视为一小段可重用的代码,用于定义页面特定部分的外观和行为方式。这些组件允许开发人员通过组合简单、独立和可重用的部分来构建复杂的 UI。
一般来说,组件本质上是独立的、可重用的 UI 部分,可以将其视为呈现用户界面某些部分的函数。
我知道“独立”、“可重用部件”和“渲染”这些词可能会存在一些冲突。
我们通过定义组件来一一证明。哎呀!?我忘了你不知道如何定义一个简单的组件。不用担心我在这里吗?分解所有的东西。那么让我们潜水吧-?
假设您正在开发一个电子商务应用程序。在应用程序的多个地方或多个页面中,您需要渲染相同的产品卡。渲染意味着响应 UI。
现在是你的时间吗?思考?如何在应用程序中以多个页面显示产品卡。
传统上,当创建网页时,开发人员会通过添加一些 JavaScript 来标记其内容并添加交互。当相同标记的多个页面没有替换为多个页面时,这种方法非常有效,这会让您有时感到无聊,同时又令人厌烦,并且难以调试和管理。因此,有机会打破您的代码,管理起来可能很麻烦。
在这里你将发现React组件架构的美妙之处。 React 允许您创建组件并使用任意数量的位置。
// === Reminder === Components are regular javascript functions that can sprinkled with javascript
function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
让我们打破它-
步骤 1:声明一个简单的 javascript 函数作为 ProductCard name
步骤 2:组件/函数返回一个由其他标签组成的
// === Reminder === All tags must return under a parent tag or using a react fragment(>)
// === Reminder === React component name must start with a capital letter otherwise it won't treated as a component
ProductCard 组件返回一个 div 标签,其中包含 h1、h2、p 或其他一些像 HTML 一样编写的必要标签,但它的底层是 Javascript。该语法称为 JSX(javascript XML)。不用担心,我稍后会解释。
// === Reminder === JSX is a syntax extension for javascript that lets you write HTML-like markup inside a javascript file which handles the logic of rendering and markup live together in the same place as components.
现在您的组件可以使用了。例如,您有一个产品页面并且必须呈现一些产品。
//Products.js or jsx file function ProductCard(){ return() } function ProductPage(){ return(title of the product
price of the product
description of the product
// rest of info) } product page
您的浏览器将渲染 3 次 ProductCard 意味着浏览器已可见 3 个产品卡。
到目前为止,一切都很好?。我们已成功将产品卡呈现到产品页面。
现在该整理一下代码了:
您可能有一个或多个组件,例如 ProductCard、ProductReviewCard、SimilarProductCard 等。因此,在一个文件中声明和管理所有组件可能会很麻烦。因此,让我们仅使用文件结构使其更有组织性以进行管理。
让我们创建一个可重复使用的文件夹,因为 ProductCard 可能已在多个页面中使用。在可重用文件夹内创建 ProductCard.js/jsx 文件。
//reusable/ProductCard.js or jsx file function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
现在有一点,如果您将 ProductCard 组件与 ProductPage 文件分开,将如何使用它。我知道您可能已经明白了,是的,我们可以从 ProductCardfile 中导出 ProductCard 函数,如您实际上更喜欢的命名或默认值。
//reusable/ProductCard.js or jsx file export default function ProductCard(){ return() }title of the product
price of the product
description of the product
// rest of info
现在它可以从 ProductPage 文件中使用。只需从 ProductPagefile 导入 ProductCard,然后根据需要使用它即可。
//ProductPage.js or jsx file import ProducrCard from './reusable/ProductCard.js' function ProductPage(){ return() } product page
我之前提到过为什么应该使用组件——为了可重用性、关注点分离和模块化。
完成所有这些之后,您已经了解您也可以嵌套组件。
好吧,让我们再看一下-?
创建布局文件夹
在Layout文件夹下创建Header文件夹,然后在Header文件夹中创建index.js文件
export default function Header(){ return() } Header
create `Footer` folder under the `Layout` folder then create `index.js` file inside `Footer` folder export default function Footer(){ return() } Footer
现在在Layout文件夹下创建index.js文件
import Header from './Header'; import Footer from './Footer'; export default function Layout(){ return() } page content
我希望你已经发现了 React 组件架构的美妙之处。这才刚刚开始,并试图在你的内心深处培养兴趣。
快乐编码??
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3