热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

11个让你的React应用程序更上一层楼的库

英文|https:javascript.plainenglish.ioeleven-libraries-to-take-your-react-app-up-a-notch-570c


英文 | https://Javascript.plainenglish.io/eleven-libraries-to-take-your-react-app-up-a-notch-570c11923738

翻译 | 杨小二

React 在 2013 年发布时,它立即席卷了整个编程世界。React 提供了一种轻松构建交互式 UI 组件的方法,同时管理整个应用程序的状态。它是迄今为止最流行的 Javascript 框架,也是最受欢迎的框架之一。

因此,很多开发者每年会为 React 创建数百个开源库。

在这里,与你分享11个React项目中有效且易于实现的库,我列出的这 11 个库,都是开箱即用的库,它们可将你的 React 应用程序提升到一个新的水平。

现在,就让我们开始吧。

1、Lodash

Javascript 程序员可能都熟悉lodash,但 React 的新手可能不知道,每当你使用create-react-app. lodash可以消除处理数组、数字、对象、字符串等的麻烦,使 Javascript 更容易。

下载包后,你只需将其导入到你的应用程序中。

import _ from "lodash"

你可以开始使用所有以下划线 ( _)开头的内置函数。下面是一个例子:

_.chunk(array, size)
// Creates an array of elements split into groups the length of size. If array can't be split evenly, the final chunk will be the remaining elements.
_.chunk(['a', 'b', 'c', 'd'], 2) // => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3) // => [['a', 'b', 'c'], ['d']]

这些方法非常适合迭代数组、对象和字符串,操作和测试值,以及创建复合函数。

所有功能和文档地址:https://lodash.com/docs/4.17.15

2、date-fns

这个库的标语是“It's like Lodash for Dates”和lodash类似,date-fns也有很多内置函数。无论你是尝试转换时区还是相互比较日期/时间,你都一定会从这个库中找到一些用处。有超过 200 多种功能适用于所有场合。

要使用 date-fns,请找到你要查找的方法并像这样导入它:

import { format, compareAsc } from 'date-fns'
format(new Date(2014, 1, 11), 'MM/dd/yyyy') //=> '02/11/2014'
const dates = [ new Date(1995, 6, 2), new Date(1987, 1, 11), new Date(1989, 6, 10) ]
dates.sort(compareAsc)
//=> [
// Wed Feb 11 1987 00:00:00,
// Mon Jul 10 1989 00:00:00,
// Sun Jul 02 1995 00:00:00
// ]

文档可以在这里找到:https://date-fns.org/docs/Getting-Started/

3、react-icons

使用react-icons可以 从十多个库和数千个图标中进行选择,包括许多品牌徽标。最好的部分是图标可以直接用作组件中的文本,因此,你不必像处理图像一样担心 CSS 大小。

react-icons 利用 ES6 导入,你只需要导入你的项目正在使用的图标即可,如下所示:

import { FaBeer } from 'react-icons/fa';
function Question (){return

Lets go for a ?


}

搜索图标并访问文档地址:https://react-icons.github.io/react-icons/

4、react-portal

虽然很少使用Portal,但大多数 React 开发人员仍然熟悉它们。Portals 提供了一种流行的方式来将子组件渲染到存在于父组件的 DOM 层次结构之外的 DOM 节点中。

React 本身有一个内置的门户创建器,但过程繁琐,文档可能有点密集。react-portal解决了这个问题。

要使用该库,请使用标准 Javascript 选择器(如getElementById或 )将 HTML 代码中的门户容器作为目标querySelector,然后就大功告成了。

import { Portal } from 'react-portal';
This text is portaled at the end of document.body!

This text is portaled into New York!

文档地址:https://github.com/tajo/react-portal

5、react-calendar

这是 React 应用程序的终极日历应用程序。react-calendar支持几乎所有语言,而且设置起来又快又容易。

有了数十种可能的模板,日历可以根据你的需要进行定制。下面是一个react-calendar使用示例:

import React, { useState } from 'react';
import Calendar from 'react-calendar';function MyApp() {const [value, onChange] = useState(new Date());return (

);
}

查看现场演示:https://projects.wojtekmaj.pl/react-calendar/

访问文档地址:https://www.npmjs.com/package/react-calendar

6、react-tabs

react-tabs是一个易于访问且可能是为 React 设置的最简单的选项卡组件。它很简单,其默认样式可提供流畅的用户体验。

要实现,请使用下面的代码作为起点。

import { Tab, Tabs, TabList, TabPanel } from 'react-tabs';
import 'react-tabs/style/react-tabs.css';export default () => (Title 1Title 2

Any content 1

Any content 2


);

查看更多示例与查看文档地址:https://reactcommunity.org/react-tabs/

7、react-sidebar

如果你刚开始接触编程或设计样式并不是你的强项,那么你就会知道创建导航菜单有多么困难。react-sidebar为你简化该过程。

根据你实现的自定义和事件处理功能,代码可能会变得有点冗长。但你可以看演示地址:https://paulusschoutsen.nl/react-sidebar/example/#

以及查看完整文档地址:https://github.com/balloob/react-sidebar#installation

8、react-credit-cards

如果你正在开发使用信用卡付款的电子商务应用程序,那么这个库特别适合你。react-credit-cards在用户输入信用卡凭证时提供视觉刺激。虽然设置可能需要一些时间,但我是一个有趣的动画,肯定会改善用户体验。

如何实现与演示地址:https://www.npmjs.com/package/react-credit-cards

9、@stripe/react-stripe-js

在信用卡主题方面,Stripe 在提供支付处理软件和 API 的金融科技世界中享有盛誉,他们的 React 库是大众的最爱。如果你希望在你的应用程序中实现付款处理,请务必查看此处的文档地址:https://stripe.com/docs/stripe-js/react

10、react-toastify

如今,使用alert()已经过时并且在用户体验方面没有太大作用。相反,用于react-toastify创建 Toast 通知。它使用简单,还有很多自定义选项。

下面是一个示例代码块:

import React from 'react';import { ToastContainer, toast } from 'react-toastify';import 'react-toastify/dist/ReactToastify.css';function App(){const notify = () => toast("Wow so easy!");return (

);}

检查文档,以及演示地址:https://fkhadra.github.io/react-toastify/introduction/

11、semantic-ui-react

如果你想尝试除 Bootstrap 之外的另一个样式库,那么semantic-ui-react. 它是语义 UI的官方 React 集成,许多公司在日常工作中使用它。借助大量内置功能,semantic-ui-react您可以通过向目标元素添加特定类来快速设计漂亮的 React 网站。

了解更多信息地址:ttps://react.semantic-ui.com/

综上所述

无论你是 React 的新手还是从它一开始就一直在使用它,你一定会在某个时候使用不同的库。它们可以用于极大的优势并帮助提升你的代码。

在构建下一个 React 项目时,尝试实现此处共享的库之一。也许有一天你会设计开发一个自己的库!

感谢你的阅读,祝编程愉快!

学习更多技能

请点击下方公众号


推荐阅读
  • 本文介绍了指针的概念以及在函数调用时使用指针作为参数的情况。指针存放的是变量的地址,通过指针可以修改指针所指的变量的值。然而,如果想要修改指针的指向,就需要使用指针的引用。文章还通过一个简单的示例代码解释了指针的引用的使用方法,并思考了在修改指针的指向后,取指针的输出结果。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 我正在尝试使用scrapycrallsingle运行完美运行的scrapy蜘蛛,但我无法在python脚本中运行它.主要问题是从不执行SingleBlogSpider.parse方 ... [详细]
  • Material Design Lite ,简洁惊艳的前端工具箱。
    2019独角兽企业重金招聘Python工程师标准MaterialDesignLite简介本文主要介绍MaterialDesign设计语言的HTMLCSSJS部分实现。对应每一 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了基于c语言的mcs51单片机定时器计数器的应用教程,包括定时器的设置和计数方法,以及中断函数的使用。同时介绍了定时器应用的举例,包括定时器中断函数的编写和频率值的计算方法。主函数中设置了T0模式和T1计数的初值,并开启了T0和T1的中断,最后启动了CPU中断。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Project2.cpp:定义应用程序的入口点。#includeframework.h#includeProject2.h#defineMAX_LOADSTRING100全 ... [详细]
  • 1.首先要下载VsCode和python解释器。VsCode下载地址:https:code.visualstudio.compython下载地址:https:www.python. ... [详细]
author-avatar
双子-殇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有