首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

「译」如何编写 React 应用程序的样式

React 中的简洁架构5. 构建合适的 REST API6. 如何编写 React 应用程序的样式语义类在本章接下来的部分中,我们将暂时放下功能,专注于组件及其 CSS 标记。...这样可以更方便地维护和扩展我们的组件,确保样式的可重用性和一致性。创建相似的组件大多数 Web 应用程序都试图拥有一致的外观和感觉,组件相似也是正常的。...因此,我们应该将其实现为仅在 Quote 组件中添加的附加类。对于默认样式的问题,我的理念是最简单的样式应该是基础。因此,我会将大写风格作为附加类添加。但是我们应该如何命名它呢?...一些前端开发人员意识到样式和标记之间的紧密耦合,并决定创建完全依赖它的工具。CSS-in-JS 库为我们提供了一个简写 API 来创建组件并同时设置其样式。...是的,但我们需要记住的一件事是,需要应用于它们的任何动态类的元素只是整个应用程序的一小部分。最重要的是,我们正在使用组件,因此我们只需要管理一次这种复杂性。

10110

React系列:使用 React,并创建一个简单的计数器应用程序

它是一个快速、灵活且易于使用的工具,因此成为了开发人员的首选。在本文中,我们将介绍 React 的基本概念和使用方法。...创建 React 应用 首先,我们需要安装 Node.js 和 npm 包管理器。...安装完成后,我们可以使用以下命令创建一个新的 React 应用程序: bash npx create-react-app my-app cd my-app npm start 这将创建一个名为 my-app...的新目录,并在其中初始化一个新的 React 应用程序。...运行 npm start 命令启动开发服务器,并在浏览器中打开应用程序。 编写 React 组件 React 应用程序由组件组成。组件是独立的代码单元,它们具有自己的状态和生命周期方法。

30210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    构建一套最佳的React 组件文件结构

    为前端项目创建适当且可扩展的文件结构可能是具有挑战性的。在使用像React这样的非优化工具时,我们拥有很大的自由度。 通常,当我们讨论文件结构时,讨论重点是整个项目。...显式重新导出还有助于记录哪些是公开的(并打算由应用程序的其余部分使用)以及该组件的私有内容。 注意:有一个论点是,只有默认的导出应该是公共的,其余的应该保持私有。...Styles 样式文件 使用CSS-in-JS时,可以直接在组件文件中创建样式化的组件。如果我们选择了CSS模块,则样式文件应与组件位于其目录中。...很多时候,如果一段代码执行相似(但不完全相同)的操作,最好首先复制一些功能,并且仅在对用例有足够的信心时才创建抽象。 总结 组件结构对于React体系结构至关重要。...这就是为什么重要的是要指出我上面提出的只是一个模板。 尽管我发现这种结构适用于各种场景,但是每个React应用程序都是唯一的,或者至少具有其特质。

    1.2K10

    在 React 中使用 Storybook,构建强大的自定义 UI 组件

    使用Storybook,您可以使用您最喜欢的框架快速创建UI组件,同时还提供一个整洁的接口来处理每个组件。 Storybook是UI组件的开发环境,它允许您在主应用程序之外的环境中创建和展示组件。...事实上,Storybook会检测到你正在使用Create React App,并为你安装依赖项。这是有帮助的,特别是如果你是一个初学者。 在本教程中,我们使用的是Next.js。...使用 Next.js 创建 React APP 在我们开始Storybook的冒险之前,我们首先需要创建一个正在运行的Next.js应用程序,以便我们可以在其中安装Storybook。...为Storybook创建第一个组件 让我们创建一个横幅组件来添加到应用程序中。...jsx文件: /** @jsxImportSource @emotion/react */ 下面是一个如何根据道具的值将不同的样式应用到React组件的例子。

    9.3K10

    如何在React Native中添加自定义字体

    向 React Native CLI 项目添加自定义字体 对于我们的项目,我们将研究如何通过构建使用Google字体的基础应用程序,将自定义字体添加到React Native CLI项目中。...本质上,我们正在渲染 JSX 与四个文本以显示在屏幕上,并使用 React Native 的 StyleSheet API 为每个 Text 组件附加不同的 fontFamily 样式。...创建一个名为 assets 的文件夹,并在其中创建一个 fonts 文件夹,就像你使用React Native CLI所做的那样。...如上述模拟器输出所示,第一段具有 default 样式的文本使用默认的 fontFamily 样式,而接下来的两段文本分别使用了 SourceCodePro-ExtraLight 和 SourceCodePro-Light...性能影响:在React Native应用程序中添加自定义字体时,请注意它们的文件大小(以kb/mb为单位)。大型字体文件可能会显著增加应用程序的加载时间,特别是在加载自定义字体时。

    61610

    基于 React Flow 与 Web Audio API 的音频应用开发

    跳转到 App.jsx ,删掉默认创建的组件内容,创建一个新的 AudioContext 并将我们需要的节点放在一起。...内部或 组件本身内部,因此我们将整个应用程序包裹在 Provider 中以确保接下来,跳转到 App.jsx 中并创建一个空流程src/App.jsximport React from 'react'...要获得一个基础的交互式 React Flow 图,我们需要做这三个步骤:onNodesChange 处理节点被移动或者删除onEdgesChange 处理 连接线 被移动或者删除addEdge 连接两个节点接下来我们要创建一个文件....}));2.自定义节点非常好,我们现在已经有了一个可交互的 React Flow 实例,并且可以操作它。我们添加了一些虚拟的节点但它们现在仅仅是默认无样式的。...我们的临时节点还没有被赋予正确的类型,所以 React Flow 只是退回到渲染默认节点。 如果我们将其中一个节点更改为具有一些频率和类型初始值的 osc,我们应该会看到正在渲染我们的自定义节点。

    35010

    React 设计模式 0x0:典型反例和最佳实践

    学习如何轻松构建可伸缩的 React 应用程序:典型反例和最佳实践。 # 反例 # 内联样式 或 CSS 内联样式使用起来非常简单,只需要在元素上添加一个 style 属性即可。...,样式对象都会被重新计算 # 大组件 React 使用可重用组件作为应用程序的基本单元。...但是,列表中的每个项目都需要是唯一的,因为 React 使用 key 来跟踪 DOM 中的所有记录。如果没有 key,React 将无法知道添加、删除或修改了什么。...但是,这是一个反模式,React 无法识别哪个项目是添加/删除/重新排序的,因为索引是根据数组中项目的顺序在每次渲染时给出的。虽然它通常可以正确渲染,但仍然有一些情况会导致失败。...CSS 预处理器是一种程序,它可以让您从预处理器自己独特的语法中生成 CSS。 # 文件 / 文件夹结构 大多数时候,我们不确定如何设置文件夹和文件结构以最好地服务于我们正在开发的应用程序。

    1.1K10

    React 应用架构实战 0x2:构建和文档化组件

    在 React 中,所有的东西都是组件。这种范式允许我们将用户界面拆分成更小的部分,从而更容易开发应用程序。它还启用了组件的可重用性,因为我们可以在多个地方重复使用相同的组件。...# Chakra UI 当我们为应用程序构建 UI 时,必须决定使用什么来为组件设置样式。此外,我们还必须考虑是从零实现所有组件还是使用带有预制组件的组件库。...provider 来启用其组件的样式。...使用 Storybook 的一些好处: Storybook 允许在隔离环境中开发组件,而无需重现应用程序的精确状态,从而使开发人员可以专注于他们正在构建的东西 Storybook 作为 UI 组件的目录...CSF 需要以下内容: 默认导出应定义有关组件的元数据,包括组件本身、组件名称、修饰符和参数 命名导出应定义所有 story # 创建 Story src/components/button/button.stories.tsx

    83510

    Sentry 开发者贡献指南 - 前端(ReactJS生态)

    最好的样式是您不编写的样式 - 尽可能使用现有组件。 新代码应该使用 css-in-js 库 e m o t i o n - 它允许您将样式绑定到元素而无需全局选择器的间接性。...https://swizec.com/blog/wormhole-state-management 使用自定义 hooks 可以创建自定义 hooks 来共享应用程序中的可重用逻辑。...注意 hooks 的规则和注意事项 React hooks 有一些规则。请注意 hooks 创建的规则和限制。我们使用 ESLint 规则来防止大多数 hook 规则被非法侵入。...使用 React Testing Library 我们正在将我们的测试从 Enzyme 转换为 React Testing Library。在本指南中,您将找到遵循最佳实践和避免常见陷阱的技巧。...组件 用下面的替换组件,然后删除必要的 props 并移动到 styled component。

    6.9K30

    正式发布一款可cmd命令安装的React.js项目脚手架——FastReactApp

    虽然比不上正在前端界火爆的Vite以及占据稳定地位的CreateReactApp,但是基本的项目开发还是可以的。...另外,你需要把package.json文件中的"devDependencies"属性内的@parcel/transformer-image依赖删除掉,还有项目中默认会引入图片,把相应引入图片地址的代码段删除掉即可...输入命令: npm install 运行项目 输入命令: npm run serve 这里需要声明一点,项目默认安装了mocker-api,mocker-api 为 REST API 创建模拟...你的应用程序已准备好部署。 FastReactApp资源 介绍完如果搭建项目了,下面,我们来看下FastReactApp给我们默认安装了那些资源依赖。...styled-components有以下几点:1、样式写在 js 文件里,降低 js 对 css 文件的依赖。2、样式可以使用变量,更加灵活。3、使用方便,不需要配置 webpack、开箱即用。

    1.5K20

    32K star 的 Chakra UI,以及未来的展望

    我希望创建一个组件系统,任何人都可以使用,无论他们在 React 方面的技能水平如何。...在这段时间里,Styled System、Styled Components 和 Emotion 是最受欢迎的用于样式化应用程序和设计系统的工具。...我们正在构建一个新的、与框架无关的样式解决方案,它保留了 Chakra 样式系统的大部分优点,但在构建时提取样式。...我们正在构建 Ultra,这是一个 SaaS 平台,可以让产品团队: 可视化创建核心和语义设计 Token(避免重复工作) 定义最佳实践、共享图层和文本样式 提供带有 GPT 界面的 Token 自动文档搜索和过滤功能...如果你正在构建应用程序并希望使用具有良好默认样式的预制 UI 组件,并且不关心 bundle 大小,请使用 Chakra UI。

    53630

    在 10 分钟内实现安全的 React + Docker

    你可以使用它打包你的应用程序,并包含多种开源 Web 服务器来为你的应用程序提供服务。另外,你还可以通过配置网络服务器来发送安全标头,这样使你的程序更安全。...npm install 这是一个使用样式化组件的 React 应用,并由 OpenID Connect(aka OIDC)保护。...你可以在使用样式化组件构建 React 应用(https://developer.okta.com/blog/2020/03/16/react-styled-components) 一文中了解其创建方式...用 React 应用构建 Docker 镜像 先执行 docker ps 确保你的 Docker 守护进程正在运行。然后运行以下命令来构建你的 Docker 镜像。...在下面的示例中,我正在使用 react-docker,但你也可以使用 react-pack 来部署 buildpacks 版本。

    20.1K30

    【Hybrid开发高级系列】ReactNative(四) —— 基础开发技巧

    首先是默认值不同:flexDirection的默认值是column而不是row,alignItems的默认值是stretch而不是flex-start,以及flex只能指定一个数字值。...1.12.1 常用的第三方库         如果你正在使用React Native,那你应该已经对React有一定的了解了。...1.13.1 iOS应用程序状态     • Active - 应用程序在前台运行     • Background - 应用程序在后台运行。用户正在使用另一个应用程序或者在主屏幕上。     ...init来创建一个项目时,默认情况下定位是能够使用的。         ...性能:     • 在样式对象中使用一个样式表可以使得通过ID对它进行参考成为可能,而不是每一次都创建一个新的样式对象。     • 它还允许通过桥梁对样式进行一次发送。

    42720

    将create-react-app迁移到Next.js

    在本文中,我将引导您完成将React应用程序(Create-React-App: CRA)迁移到Next.js所采取的步骤。 这非常简单,只需几个小时即可完成。...循序渐进:将CRA转换为Next.js 创建一个新的Next.js项目 首先,在终端中运行此命令以创建新应用程序: $ npx create-next-app 将组件放入Next.js项目: 在新的Next.js...路由:React vs Next.js 普通的React要么呈现为真正的单页应用程序(类似于网络上的电话应用程序),要么借助路由器组件呈现路由,而Next.js附带了内部路由机制。...考虑到这一点,您需要创建反映路由器配置的目录结构。鉴于其受欢迎程度,您可能正在使用react-router,因此您可以在项目范围内搜索,然后逐个迁移它们。...如您在本文中所见,这使得将React应用程序迁移到Next变得非常容易。 希望您现在应该至少在本地拥有一个正在运行的Next.js应用程序。

    6.1K40

    编写优秀 CSS 代码的 8 个策略

    JavaScript代码是另一个完全不同的棘手问题。 这篇文章的目的不在于规则手册,而在于你正在编写CSS时的指南。...1.不要写不需要的样式定义 例如:编写时要注意,因为很多元素默认有这个样式。 另一个例子是在元素上定义字体大小,它将继承你正在定义的正文字体大小。 目标是双重的: 减少CSS文件的长度,以便浏览。...明确你的CSS类需要做什么,而不是定义一堆已经产生的垃圾。 这里有一个常见问题是CSS没有清理干净,此时,为了简洁起见,可以完全删除。...首先,如果大多数样式被定义为你所知道的实用程序和类,那么你就不必花费大量时间刷新和重新创建应用程序中已存在的样式。...也就是说,自己动手创建可能是一个很好的学习经验——但这很可能不属于生产应用程序的过程。 好的,那么JavaScript插件呢?

    1K60

    web 编写优秀 CSS 代码的 8 个策略

    下面是8个保持CSS有条理和易于长期维护的秘诀。 1.不要写不需要的样式定义 例如:编写display:block;时要注意,因为很多元素默认有这个样式。...这里有一个常见问题是CSS没有清理干净,此时,为了简洁起见,可以完全删除。...首先,如果大多数样式被定义为你所知道的实用程序和类,那么你就不必花费大量时间刷新和重新创建应用程序中已存在的样式。...也就是说,自己动手创建可能是一个很好的学习经验——但这很可能不属于生产应用程序的过程。 好的,那么JavaScript插件呢?...例如,我会使用立即可用的Foundation或Bootstrap模块,如果我正工作于依赖jQuery的项目,但是会在React中构建我自己的模块(只是因为编写组件以便通过引入jQuery插入到React

    2.3K00

    11个React Native 组件库和 Javascript 数据可视化库

    这是一个示例 Expo 应用程序,显示了所有正在运行的组件。 3. Shoutem ?...4.UI Kitten 超过 3 k stars 的 UI Kitten 提供了一个可定制和可重用的 react-native 组件工具包,该工具包基于将样式定义移动到特定位置的概念,使组件可重用,并以一种单一的方式设计样式...注意,库使用了一个名为uiTheme的JS对象,该对象通过上下文传递,以获得最大的可定制性。默认情况下,这个uiTheme对象基于你可以在这里找到的lightTheme。 6....Wix engineering 正在开发这个最先进的 UI 工具集和 React native (demo)组件库,它还支持 react-native-animatable 和 react-native-blur...8k stars 的 C3js 是一个基于 D3 的可重复使用的图表库,用于Web应用程序。 该库为每个元素提供类,因此你可以通过类定义自定义样式,并通过 D3 直接扩展结构。

    11.8K11
    领券