使用 Grommet 为 UI 构建 React 应用程序

构建 React 应用程序可能是一个复杂且耗时的过程,尤其是在创建具有视觉吸引力和直观的用户界面时。这就是使用像Grommet这样的 UI 组件库非常有价值的地方。

UI 组件库是预构建和预样式化的 UI 组件的集合,如何在没有产品密钥的情况下激活Windows7并使其永久正版可以轻松集成到前端应用程序中。在构建使用 JavaScript 前端框架的应用程序时利用 UI 组件库的重要性在于它能够节省时间和精力。

在本文中,我们将逐步完成设置新 React 项目和集成 Grommet 的过程,从而为应用程序的 UI 提供精美且用户友好的设计。

跳跃前进:

  • 什么是索环用户界面?

  • 索环与脉轮用户界面

  • 使用 React 的索环教程设置 React 应用程序安装索环及其依赖项构建和设计 UI使 UI 易于访问

  • 使用索环的好处

什么是索环用户界面?

Grommet(有时称为 Grommet UI)如何在WindowsPC上检查您的显卡和驱动程序是一个现代设计系统和 UI 组件库,用于构建美观、直观且易于访问的应用程序。它建立在 React JavaScript 库之上,提供一致的响应式设计语言和各种预构建和预样式化的组件,可以轻松集成到 React 应用程序中。

Grommet 还包括辅助功能支持、主题化和国际化等功能,如何使用Manjaro硬件检测工具使其成为构建用户友好和可访问应用程序的强大工具。

扫描二维码关注公众号,回复: 14667808 查看本文章

索环与脉轮用户界面

Grommet 和 Chakra UI 都是流行的 React UI 框架,它们提供了一组预构建和预样式化的 UI 组件,用于构建用户界面。

这两个框架之间的主要区别之一是它们的设计语言。解决低端图形适配器上的VisualXccelerator问题索环旨在成为一个现代简约的设计系统,具有干净简单的美感。相比之下,Chakra UI 的设计更加灵活和可定制,有广泛的主题和设计风格可供选择。

另一个区别是每个框架提供的组件和功能的范围。Grommet 提供范围广泛的组件,包括按钮、表单、图标、菜单等。相比之下,如何提高LIGHTROOMCLASSICCC性能:2023版Chakra UI 提供的组件范围更有限,但包括独特的选项,例如模态框和抽屉。

在性能和可访问性方面,Chakra UI 和 Grommet 都进行了良好的优化,并为可访问性标准提供了良好的支持。但是,Chakra UI 使用Emotion CSS-in-JS 库为其组件设置样式,与 Grommet 的内联样式方法相比,这可能导致更大的包大小和更慢的性能。

总的来说,Chakra UI 和 Grommet 都是构建 React 应用程序的强大而有用的工具。两者之间的选择将取决于开发人员的具体需求和偏好,如何修复GPU驱动程序崩溃例如所需的设计语言、组件和功能的范围以及性能和可访问性要求。

使用 React 的索环教程

让我们探索使用 Grommet 的预构建和预样式化 UI 组件创建简单注册页面的过程。

首先,您需要在计算机上安装 Node.js 和 npm。如何为笔记本电脑设置外接显卡如果您还没有这些工具,可以从Node.js 网站下载并安装它们。

设置 React 应用程序

安装 Node.js 和 npm 后,您可以使用以下命令创建一个新的 React 项目:

// terminal command
npx create-react-app grommet-demo

这将创建一个新目录,其中包含 React 项目所需的所有文件和依赖项。grommet-demo

现在,导航到新目录并启动开发服务器,如下所示:

// terminal command
cd my-app
npm start

这将启动开发服务器并打开您的默认 Web 浏览器并访问http://localhost:3000,您应该会在其中看到默认的 React 欢迎页面。

现在您已经设置了一个基本的 React 应用程序,将外接显卡连接到笔记本电脑的最佳方法让我们清理 React 应用程序,因为我们有很多样板代码。

这个任务很简单。只需删除不在下图中的每个文件,然后从剩余文件中清除所有导入语句:

以下是您的样式表的外观:

html, body{
      margin:0;
      padding:0;
}

在上面的代码中,如何使用外接显卡将您的笔记本电脑变成游戏机我们只是对整个网页的边距和填充属性进行了简单的重置。

安装索环及其依赖项

接下来,您可以通过运行以下命令将 Grommet 添加到项目中:

// terminal command
npm install grommet grommet-icon

这将安装 Grommet 库、它的依赖项和 Grommet SVG 图标集。安装完成后,您可以通过将以下行添加到应用程序入口点文件的顶部(通常是 ),我的笔记本电脑支持外接显卡吗将 Grommet 组件和样式导入到您的 React 应用程序中:index.js

// JavaScript [React]
import { Grommet } from 'grommet';

然后,用组件包装整个应用程序Grommet,如下所示:

// JavaScript [React]

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import { Grommet } from 'grommet';

const theme = {
  global: {
    font:{
      family: "Roboto",
      size:"18px"
    },
  },
}
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <React.StrictMode>
    <Grommet theme={theme}>
      <App />
    </Grommet>
  </React.StrictMode>
);

这将使您能够访问 React 应用程序中的 Grommet 组件和样式。如何将RazerCoreX连接到您的笔记本电脑然后,您可以使用这些组件为您的应用程序创建一个由 Grommet 驱动的 UI。

注意theme声明的对象,然后作为 prop 传递给Grommet组件。我们将使用它来自定义我们的索环用户界面。主题对象中声明的值将传播到下面的所有评论。

构建和设计 UI

假设您想使用 Grommet 创建一个简单的登录表单。NVIDIAGeForceGTX3090eGPU连接说明您可以使用<Form>和<FormField>组件创建表单,使用<Button>组件创建提交按钮。

您的代码可能如下所示:

// JavaScript [React]
import { Box, Form, FormField, Button } from 'grommet';

function App() {
  return (
      <Box width="medium" margin="auto">
        <Form>
          <FormField label="Username" name="username" />
          <FormField label="Password" name="password" type="password" />
          <Button type="submit" primary label="Submit" />
        </Form>
      </Box>
  );
}

export default App;

此代码将创建一个带有用户名和密码字段以及提交按钮的注册表单。由于该<Box>组件,表单将居中放置在页面上并具有中等宽度。

Grommet 还提供了广泛的可自定义主题选项,如何为笔记本电脑设置外部GPU可用于更改表单的外观和感觉。

在本教程中,我们将仅使用 Grommet 构建一个带有旋转木马的注册页面并设置其样式。这是我们最终项目的外观:

对于这个演示,我们将从一个组件构建整个应用程序;14款最适合笔记本电脑的外接显卡|外置显卡2023除了来自 Grommet 的组件,我们不会编写或导入任何其他组件。app.js

首先,打开文件并清除该组件返回的当前代码。您的组件应如下所示:app.jsApp

function App() {
  return (
    <div className="App">
    </div>
  );
}

接下来,从文件顶部的 Grommet 导入所需的所有内容,如下所示:app.js

import './main.css';
import { Box, Carousel, Image, Heading, Text, TextInput, FormField, Button } from 'grommet';
import { Google } from 'grommet-icons'

function App() {
  return (
    <div className="App">
    </div>
  );
}

现在,让我们设置注册页面布局。正如您在上面的视频中看到的,我们的页面有两列布局。左列包含旋转木马,右列包含注册表单。

为此,我们将使用该<Box>组件。更改显卡设置以在Windows计算机上使用专用GPU这只是 CSS flexbox 的抽象;我们可以通过在其上设置不同的道具来使用它来定义我们的布局。<Box>在使用 Grommet 时,您很可能会非常频繁地使用该组件。

这是更新后的应用程序:

import './main.css';
import { Box, Carousel, Image, Heading, Text, TextInput, FormField, Button } from 'grommet';
import { Google } from 'grommet-icons'

function App() {
  return (
    <div className="App">
      <Box direction="row" height="100vh">
        <Box width="60%"></Box>
        <Box width="40%" height="100vh" pad="xlarge" background="light-3" justify="center"></Box>
      </Box>
    </div>
  );
}

现在,让我们添加旋转木马。请注意,在上面的代码中,是否可以用专用游戏显卡替换IntegratedHDIntel显卡?有两个内部<Box>组件。让我们将轮播添加到第一个组件:

import './main.css';
import { Box, Carousel, Image, Heading, Text, TextInput, FormField, Button } from 'grommet';
import { Google } from 'grommet-icons'

function App() {
  return (
    <div className="App">
      <Box direction="row" height="100vh">
        <Box width="60%">
          <Carousel controls={false} play={3000} height="100vh">
            <Image fit="cover" src="https://images.unsplash.com/photo-1668063497279-7ecb0f0ffa8a?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80" />
            <Image fit="cover" src="https://images.unsplash.com/photo-1639332793139-32eed37bdc99?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80" />
            <Image fit="cover" src="https://images.unsplash.com/photo-1655742260938-82ab000acc2d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1740&q=80" />
          </Carousel>
        </Box>

     <Box width="40%" height="100vh" pad="xlarge" background="light-3" justify="center"></Box>
     </Box>
   </div>
  );
}

旋转木马有三张幻灯片。我们使用<``Carousel``>具有三个<``Image>子组件的组件实现了这一点。

最后一步是添加注册表单。这是应用程序组件的最终外观:

import './main.css';
import { Box, Carousel, Image, Heading, Text, TextInput, FormField, Button } from 'grommet';
import { Google } from 'grommet-icons'
function App() {
  return (
    <div className="App">
      <Box
        direction='row'
        height="100vh"
      >
        <Box width="60%" >
          <Carousel controls={false} play={3000} height="100vh" >
            <Image fit="cover" src="https://images.unsplash.com/photo-1668063497279-7ecb0f0ffa8a?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80" />
            <Image fit="cover" src="https://images.unsplash.com/photo-1639332793139-32eed37bdc99?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=774&q=80" />
            <Image fit="cover" src="https://images.unsplash.com/photo-1655742260938-82ab000acc2d?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1740&q=80" />
          </Carousel>
        </Box>
        <Box width="40%" height="100vh"  pad="xlarge" background="light-3" justify='center'>
          <Box width="80%" fill="horizontal" align='center' >
            <Box as="span" fill="horizontal">
              <Heading
                responsive={true}
                textAlign="start"
                size="xsmall"
                margin="none"
                a11yTitle="Create an account"
              >Create an account</Heading>
              <Text
                textAlign="start"
                size="14px"
                margin={
    
    {
                  vertical: "10px"
                }}
                a11yTitle="Let's get started with your 30 days free trial"
              >Let's get started with your 30 days free trial</Text>
            </Box>
            <Box margin={
    
    {
              vertical: "2em"
            }}
              fill="horizontal"
            >
              <FormField
                margin={
    
    {
                  vertical: ".5em"
                }}
              >
                <TextInput placeholder="Name" size="14px" a11yTitle ="Enter your name"/>
              </FormField>
              <FormField
                margin={
    
    {
                  vertical: ".5em"
                }}
              >
                <TextInput placeholder="Email" type="email" size="14px" a11yTitle="Enter your email address" />
              </FormField>
              <FormField
                margin={
    
    {
                  top: ".5em",
                  bottom:"2em"
                }}

              >
                <TextInput placeholder="Password" type="password" size="14px" a11yTitle="Enter your password" />
              </FormField>
              <Button 
              primary 
              label="Create account"
                margin={
    
    {
                  vertical: ".5em",
                }}
                color="#101727"
                style={
    
    {padding:".5em", borderRadius:"8px", fontSize:"14px"}}
                a11yTitle="Create account button"
              />
              <Button 
              icon={ <Google />}  
              label="Sign up with Google"
                a11yTitle="Sign up with Google button"
                style={
    
    { padding: ".5em", borderRadius: "8px", fontSize: "14px", borderColor:"#AEAFB860" }}
                margin={
    
    {
                  bottom: "1.5em",
                }}
              />
              <Box as ="span" >
                <Text size='14px' color="#AEAFB8" textAlign='center'>Already have an account? <Button href="/" style={
    
    { fontWeight: "900", color: "#01010180" }} a11yTitle="Log in if you already have an account">Log in</Button></Text>
              </Box>
            </Box>
          </Box>
        </Box>
      </Box>
    </div>
  );
}
export default App;

如果您回顾上面的注册页面视频,什么是eGPU(外部GPU)?我的笔记本电脑支持eGPU吗?您会看到这段代码创建了一个包含以下 UI 组件的注册表单:

  • 父盒:父盒Box有浅色背景,边缘有一些填充;它占据屏幕宽度的 40% 和高度的 100%

  • Inner box:innerBox位于parent之内Box;它占据父级Box宽度的 80% 并水平拉伸以填充空间。内部Box包含一个Heading和一段Text,都与的start对齐Box

  • 表单字段:Text内部下方Box是另一个box带有三个FormFields 的字段,供用户输入他们的姓名、电子邮件地址和密码。sFormField之间有一些垂直边距以创建间距

  • Buttons : 在FormFields 下面是两个按钮。Button单击“创建帐户”后,表格将提交。“Sign up with Google”Button有一个来自 Grommet 图标库的 Google 图标;它允许用户使用他们的 Google 帐户注册。

  • 登录文本:在表单下方,是一段Text告诉用户如果他们已经有帐户就可以登录的段落。这与登录页面的Text中心和链接对齐Box

使 UI 易于访问

Grommet 旨在易于访问并满足Web 内容可访问性指南 (WCAG ) 的要求。请注意,我们的和组件有一个道具。这有助于屏幕阅读器等辅助技术理解和浏览内容。此外,Grommet 使用语义 HTML 标记为页面上的内容提供上下文和意义,进一步提高其可访问性。<TextI``nput``><Button>a11yTitle

这是GitHub 上完整项目的链接。

使用索环的好处

Grommet 是一个强大的前端工具。以下是使用 Grommet 在 React 中构建 UI 的一些好处:

  • 易于使用和定制:Grommet 提供范围广泛的预建 UI 组件,可以轻松定制以满足您的应用需求

  • 响应式设计:Grommet 自动调整您的应用程序布局以适应不同的屏幕尺寸,确保您的应用程序在所有设备上看起来都很棒

  • 可访问性:Grommet 遵循可访问性的最佳实践,使构建可供残障用户访问的应用程序变得容易

  • 移动优先方法:Grommet 具有移动优先的设计理念,这意味着它优先考虑移动设备上的设计和用户体验

  • 与 React 集成:Grommet 构建在 React 之上,因此它与 React 应用程序无缝集成,并且对于熟悉 React 的开发人员来说易于使用

结论

Grommet 提供了一种强大而高效的方式来创建现代、图形设计哪个更好专用显卡还是共享CPU?直观且易于访问的用户界面。Grommet 提供了广泛的预构建和预样式化组件,可以轻松集成到 React 应用程序中,还提供主题化、国际化和可访问性支持等功能。

按照本文概述的步骤,您可以快速轻松地使用 Grommet 设置 React 项目,并开始为您的应用程序构建用户界面。无论您是经验丰富的 React 开发人员还是前端开发领域的新手,Grommet 都是一个有价值的工具,可以帮助您创建专业且用户友好的应用程序。

猜你喜欢

转载自blog.csdn.net/weixin_47967031/article/details/129917237