技术标签: java web vue html javascript
大家好,我是若川。持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。
最近看到一些实用的React工具库,总结了一下分享给大家,避免重复造轮子。希望对你有所帮助~
React Infinite Scroller 用于在React项目中无限滚动加载内容。
npm地址:https://www.npmjs.com/package/react-infinite-scroller
React DnD是React和Redux核心作者 Dan Abramov创造的一组React 高阶组件,可以在保持组件分离的前提下帮助构建复杂的拖放接口。主要用于组件的拖放。
npm地址:https://www.npmjs.com/package/react-dnd
react-beautiful-dnd是一款美观且简单易用的 React 列表拖拽库。
npm地址:https://www.npmjs.com/package/react-beautiful-dnd
使用 react-icons 可以轻松地在 React 项目中包含流行的图标。
npm地址:https://www.npmjs.com/package/react-icons
react-share是一个React 的社交媒体分享按钮和分享次数库。
npm地址:https://www.npmjs.com/package/react-share
Create React App 是一个命令行界面工具,让您无需任何配置即可快速创建和运行 React 应用程序。
npm地址:https://www.npmjs.com/package/create-react-app
React Intl 提供了一个 React 组件和用于国际化 React Web 应用的 Mixin。它提供一个格式化日期、数字、字符串消息的描述方式。
npm地址:https://www.npmjs.com/package/react-intl
react-router 是个用于 React.js 的路由解决方案(routing solution)。它轻松可以同步你的 app 和 URL,同时给嵌套,转换,和服务端渲染一流的支持。
npm地址:https://www.npmjs.com/package/react-router
react-virtualized是一个以高效渲染大型列表和表格数据的响应式组件,可以用来解决长列表渲染问题。
npm地址:https://www.npmjs.com/package/react-virtualized
Redux 是 JavaScript 状态容器,提供可预测化的状态管理。可以让你构建一致化的应用,运行于不同的环境(客户端、服务器、原生应用),并且易于测试。
npm地址:https://www.npmjs.com/package/redux
Redux 官方提供的 React 绑定库。具有高效且灵活的特性。
npm地址:https://www.npmjs.com/package/react-redux
MobX是一个经久考验的库,使得状态管理简单而且透明、可伸缩的应用功能反应性编程(TFRP)。
npm地址:https://www.npmjs.com/package/mobx
redux-saga是一个用于管理应用程序 Side Effect(副作用,例如异步获取数据,访问浏览器缓存等)的库,它的目标是让副作用管理更容易,执行更高效,测试更简单,在处理故障时更容易。
npm地址:https://www.npmjs.com/package/redux-saga
Redux 的 Thunk 中间件。
npm地址:https://www.npmjs.com/package/redux-thunk
antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。
官网地址:https://ant.design/index-cn
React Select 是一个开箱即用的 Select 控件。
官网地址:https://react-select.com/home
React Hot Toast 是一个热门的通知库,包含很多通知的样式。
官网地址:https://react-hot-toast.com/
React Content Loader 可以用于生成列表加载占位组件。
官网地址:https://skeletonreact.com/
Sweet Alert是一个弹窗组件,包含很多弹窗样式。
官网地址:https://sweetalert.js.org/
Draft JS 是一个富文本编辑器库。可以无缝地融入 React 应用程序。
官网地址:https://draftjs.org/
React Slick是一个React轮播组件。
官网地址:https://react-slick.neostack.com/
Material-UI是一个简单的、可定制的组件库,用于构建更快、更漂亮、更易使用的 React 应用程序。
官网地址:https://mui.com/zh/getting-started/usage/
React Bootstrap是一个由 React 构建的 Bootstrap 4 组件。
官网地址:https://react-bootstrap.github.io/
react-custom-scrollbars 是一个滚动条组件库,可以在web和移动端流畅的使用滚动条,并且可以完全自己定制
npm地址:https://www.npmjs.com/package/react-custom-scrollbars
react-dropdown 是一个简单的下拉组件,灵感来自于react-select。
npm地址:https://www.npmjs.com/package/react-dropdown
react-horizontal-scrolling-menu 是一个水平滚动菜单组件。
npm地址:https://www.npmjs.com/package/react-horizontal-scrolling-menu
react-calendar 是一个 React 的日历组件。
npm地址:https://www.npmjs.com/package/react-calendar
react-datepicker是一个日期选择组件。
npm地址:https://www.npmjs.com/package/react-datepicker
react-table 是一个强大的表格组件。
npm地址:https://www.npmjs.com/package/react-table
react-awesome-button 是一个按钮组件库。
npm地址:https://www.npmjs.com/package/react-awesome-button
react-compound-slider 是一个滑块组件。
npm地址:https://www.npmjs.com/package/react-compound-slider
react-checkbox-tree 是一个复选框组件。
npm地址:https://www.npmjs.com/package/react-checkbox-tree
recharts 是一个React图表库。
npm地址:https://www.npmjs.com/package/recharts
react-modal 是一个静态动画库组件库。
npm地址:https://www.npmjs.com/package/react-modal
react-responsive-carousel 是一个响应式的轮播组件库。
npm地址:https://www.npmjs.com/package/react-responsive-carousel
react-image-lightbox 是一个用于显示图片的组件库。
npm地址:https://www.npmjs.com/package/react-image-lightbox
react-tabs 是一个选项卡组件。
npm地址:https://www.npmjs.com/package/react-tabs
Rebass是一个用于构建响应式WEB应用的React UI工具包,它有60多种可定制的基础组件,而且风格样式分离,不需要编写自定义的CSS。
官网地址:https://rebassjs.org/
React Suite是一套转为后端打造的企业级UI组件库,它由 HYPERS 前端团队与 UX 团队共同打造,有大量的通用组件和功能,而且支持 Typescript 与 Flow, 支持服务端渲染。
官网地址:https://rsuitejs.com/
react-spring是基于spring-physics(弹簧物理)的react动画库,动画效果更加流畅、自然。
npm地址:https://www.npmjs.com/package/react-spring
react-motion是一个强大的react动画库。npm地址:https://www.npmjs.com/package/react-motion
react-transition-group是一个专为动画设计的库。
npm地址:https://www.npmjs.com/package/react-transition-group
react-spinner用来创建加载组件。
npm地址:https://www.npmjs.com/package/react-spinner
Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。
npm地址:https://www.npmjs.com/package/axios
apisauce 是一个建立在 axios 之上的 http 客户端。官方介绍:Axios + standardized errors + request/response transforms.
npm地址:https://www.npmjs.com/package/apisauce
SuperAgent 是一个轻量的Ajax API,服务器端(Node.js)客户端(浏览器端)均可使用,SuperAgent具有学习曲线低、使用简单、可读性好的特点,可作为客户端请求代理模块使用,当想处理get,post,put,delete,head请求时,可以考虑使用SuperAgent。
npm地址:https://www.npmjs.com/package/superagent
styled-components 可以在 JavaScript 代码中使用 CSS 来设置 React 组件的样式。通过这个库可以自定义组件的样式,它会将给定的样式包装成一个组件,可以直接使用这个组件,也不需要组件和样式之间的映射,即创建后就是一个正常的React 组件。
npm地址:https://www.npmjs.com/package/styled-components
emotion是JS库中一种高效灵活的CSS。基于JS库中的许多其他CSS,它允许您使用字符串或对象样式快速设置应用程序样式。它具有可预测的组成,以避免CSS的特殊性问题。
npm地址:https://www.npmjs.com/package/emotion
React Testing Library 基于DOM Testing Library的基础上添加一些API,主要用于测试React组件。该库在使用过程并不关注组件的内部实现,而是更关注测试。该库基于react-dom和react-dom/test-utils,是以上两者的轻量实现。
npm地址:https://www.npmjs.com/package/@testing-library/react
Enzyme 来自 airbnb 公司,是一个用于 React 的 JavaScript 测试工具,方便你判断、操纵和遍历 React Components 输出。
npm地址:https://www.npmjs.com/package/enzyme
React Hook Form是一个高性能、灵活、易拓展、易于使用的表单校验库,用于React Web&Native的表单验证。
官网地址:https://react-hook-form.com/
Formik是由React组件和hooks组成,它内置了表单的state管理操作,无需我们在单独为表单建立state,同时使用了Context,能够让表单组件多层嵌套,不再需要我们一层层传递。
npm地址:https://www.npmjs.com/package/formik
react-use-form-state是一个小型 React Hook,它使用原生表单输入元素来简化管理表单的状态。
npm地址:https://www.npmjs.com/package/react-use-form-state
use-clippy 是一个用 TypeScript 实现的自定义 React Hook,可以用于读取和写入用户的剪贴板。
npm地址:https://www.npmjs.com/package/use-clippy
react-window-communication-hook 可以实现在浏览器上下文(窗口、选项卡、iframes)之间进行通信。
npm地址:https://www.npmjs.com/package/react-window-communication-hook
react-speech-kit 是一个用于浏览器内语音识别和语音合成的 React hook。简单来说就是可以将声音识别为文字,将文字合成为语音。
npm地址:https://www.npmjs.com/package/react-speech-kit
react-script-hook是一个用于动态加载(并在加载时通知)外部脚本的钩子。
npm地址:https://www.npmjs.com/package/react-script-hook
use-mouse-action 是一个有三个React hook的库,用于侦听元素或 JSX 元素上的鼠标事件。包括鼠标操作、鼠标按下、鼠标抬起事件。
npm地址:https://www.npmjs.com/package/use-mouse-action
@rehooks/online-status 用于检查网络状态以确定用户是否已连接到网络。
npm 地址:https://www.npmjs.com/package/@rehooks/online-status
@rehooks/document-title 用于更新页面标题(显示在浏览器的选项卡中)。
npm地址:https://www.npmjs.com/package/@rehooks/document-title
自定义hook库,包含很多实用的Hooks。
官网地址:https://usehooks.com/
react-hanger是一个自定义React Hooks库,它包含很多实用的自定义hooks。
npm地址:https://www.npmjs.com/package/react-hanger
················· 若川简介 ·················
你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经写了7篇,点击查看年度总结。
同时,最近组织了源码共读活动,帮助3000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。
识别上方二维码加我微信、拉你进源码共读群
今日话题
略。分享、收藏、点赞、在看我的文章就是对我最大的支持~
文章浏览阅读510次。1。重新核实咱们感兴趣的序列属于哪一个家族?首先需要建库。bowtie2-build humrep.fasta HumRepbowtie2 -f --local --very-sensitive -x HumRep -U aluY.fasta -S aluY.samsamtools view -b aluY.sam >aluY.bam#这次就没有报错了。但是仍然存在一些问题。(base) [xxzhang@mu02 RepeatAnnoation]$ grep "ALU" aluY.sa_scatac-seq分析流程cellranger-atac比对数据三个r3怎么办
文章浏览阅读1k次,点赞2次,收藏6次。1. 什么是springmvc?Springmvc是一个基于mvc的web框架,它是spring框架的一个模块,两者无需通过中间整合进行整合。2. Springmvc的优点(1)Spring MVC中提供一个DispatcherServlet, 无需额外开发。(2)springMVC中使用基于xml的配置文件,可以编辑,无需重新编译应用程序。(3)springMVC实例化控制器,并根据用..._springmvc框架的重点
文章浏览阅读1.7k次。现象:环境:上位机软件,Csharp编写,SerialPort类实现串口异步通讯;下位机,STM32F1系列单片机。串口设置: 波特率9600, 8bit数据位,1bit停止位, 无校验。当上位机与下位机串口通讯时,通过观察收发,发现有时候接收的数据并不是一个完整的数据帧。例如: 发 10 11 12 13 14收到可能为 10 11 12然后再收到 13 14.但是通过串口助手..._上位机发送的数据接收不完整
文章浏览阅读4.1k次,点赞2次,收藏14次。说明总结自《mysql技术内幕(第5版)》创建auto_increment列要遵循如下规则每个表只能有一个列具有auto_increment属性,且必须为整数数据类型(当然,也支持浮点类型,但强烈不建议)该列必须建立索引,最常见的就是使用primary key或unique索引,当然,也支持不唯一索引该列必须是not null的auto_increment列将有如下特性用ins..._auto increment怎么用
文章浏览阅读93次。String 、StringBuilder、StringBuffer1. 可变性String: 字符串常量,字符串是不可变的。源码中:private final char value[];//通过final修饰的字符数组来存储字符//java 9 改用private final byte[] valueStringBuilder: 字符串常量,是可变的,源码中://继承AbstractStringBuilderchar[] value;//AbstractStringBuilder中_valuestringbuilder
文章浏览阅读425次。public class ExcelToPDF { /** * 获取license * * @return */ private static boolean getLicense() { boolean result = false; try { InputStream license = ExcelToPDF.class.getClassLoader().getResourceAsStrea_pdfsaveoptions.setdefaultfont(
文章浏览阅读337次。今日内容表单输入绑定数据双向绑定 v-model 只能应用在input textare select 表单控件中<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" con..._vue2 组件开发数据双休绑定
文章浏览阅读2.1k次,点赞2次,收藏4次。做后端的各位对于JSON格式传参肯定不陌生吧?咱先看一组大家常用的入参:【ps:csdn博客的代码块不支持JSON?待改进嗷】{ "loginNo": "admin", "debugEndDate" : "2050-7-20 18:25:22", "debugStartDate" : "2010-7-1 09:25:22", "type" : "1"}那么对于这么一组入参,后端获取的方法特别简单:1、构建对应的实体类,个人这边建议使用IDEA配套_jsonproperty注解参数说明
文章浏览阅读2.5k次。第一个html中写跳转htmlwindow.location.href='localhost:8080/xx/xx.html?orgid=1&orglevel=2&orgseq=3' 目标html取值://解析url路径,获取参数 function getURLParameter(name) { return decodeURIComponent((ne..._html两个页面之间通过url传值
文章浏览阅读240次。忙活好现在一堆乱七八糟的事情,到现在已经将近11点了。那么今天就从现在开始。首先回顾前两天做的事情。前两天主要就是:(1)使用CML的其他数据,再次验证在已知标签的情况下,我们能不能将这些样本聚类在一起,也就是说验证sclinager的可行性。==>现在这部分的数据已经在运行,预计8.7结束可以完成这28个样本的运行,并得到阶段性的结果。按照已知类别标签标记的热图,看是否可以聚在一起。(2)另一方面,想要尝试优化这个流程。最重要的是时间方面的,有无必要砍掉预处理的环节,因为时间消耗最大._variant quality
文章浏览阅读1.2k次,点赞4次,收藏2次。在项目中如果不能直接autowired依赖注入的时候(例如利用了其他框架的监听器),需要自己注入IOC容器,来获取容器管理的bean对象,以下总结了两个个方法~方法1ContextLoaderListener 监听器在服务器启动的时候会监听ServletContext对象的创建,去创建IOC容器对象,并且将IOC容器对象放在Application域中所以可以通过以下方式获取 Applica..._ioc.get
文章浏览阅读1w次,点赞3次,收藏5次。1.按住Shift键右击鼠标打开命令行窗口2.任意文件夹打开拖拽。cd +路径3.当前文件夹输入cmd 进入命令窗口_打开代码窗口的方法