文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

优秀的React.js库有哪些

2024-04-02 19:55

关注

这篇文章主要讲解了“优秀的React.js库有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“优秀的React.js库有哪些”吧!

1. react-portal

我认为React中的 Portals(传送门) 对大多数人来说都很熟悉,即使它们很少被使用。下面是 Reac  t文档中对它们的描述:

Portal 提供了一种将子节点渲染到存在于父组件以外的 DOM 节点的优秀的方案。

通常,我们的整个 React 应用程序都是在HTML中的一个 DOM  节点中渲染的。但是通过portals,我们可以定义附加的节点,在这些节点上我们可以挂载应用程序的各个部分,例如单个独立的组件。

然而,在官方文档中,门户以一种相当麻烦和复杂的方式进行描述,这就是也 react-portal 出现的一个原因。

现在是 react-portal 用法:

import { Portal } from &lsquo;react-portal&rsquo; <Portal node={document && document.getElementById(&lsquo;portal&rsquo;)}>   <p>This is portaled into the portal div!</p> </Portal>

只需使用 选择器(如getElementById)将HTML代码中的portal容器作为目标,就可以了。

在React.js应用程序的public/index.html文件中:

<div id=”root”></div> <div id=”portal”></div>

如上所见,每个React应用程序所需的根元素都像往常一样存在,使用了portal我们就可以将元素指定到与根同级的位置。

当然,我们也可以动态切换portal

{this.state.show ? (   <Portal node={document && document.getElementById(&lsquo;portal&rsquo;)}>        <p>Portal content</p>   </Portal> ) : null}

2. react-toastify

在现代web开发中,为终端用户提供动态信息是绝对必要的。不幸的是,JavaScript  中的alert()函数不是实现此目的的好选择,这一点大家都很清楚,所以才会出现各种各样的 UI 库。

这里介绍一个 React 提示插件 react-toastify ,它是一个很小且可自定义的库,以下是官方给出的事例:

优秀的React.js库有哪些

用法如下:

import { ToastContainer, toast } from 'react-toastify' import 'react-toastify/dist/ReactToastify.css' toast.configure({   autoClose: 2000,   draggable: false,   position: toast.POSITION.TOP_LEFT }) const notify = () => toast('Wow so easy !')  const App = () => (   <div className="App">     <button onClick={notify}>Notify !</button>   </div> )

一步一步说下:

更酷的功能:

我们还可以在toast中放入JSX:

const notify = () => toast(<h2>Big Text</h2>)

autoClose可以替换为false,因此它永远不会自动关闭。

3.  react-contextmenu

很难想象没有上下文菜单的应用,这在网站上也是很不寻常。这不再是因为越来越多的Web应用程序接近真实的桌面应用程序,而这些应用程序通常已经提供了类似的良好性能和许多功能,而这些功能是我们多年前从未期望过的。

这些功能之一是用户对右键单击的评估,这种评估在网站上越来越多地使用。当然,那些是带有许多UI元素的更复杂的控件。

通常用于显示所谓的上下文菜单,为此目的,有一个非常方便的React.js库。用法如下:

import React from 'react' import { ContextMenu, MenuItem, ContextMenuTrigger } from 'react-contextmenu'  const App = () => (     <React.Fragment>         <ContextMenuTrigger id="TriggerID"> {}              <p>Right click on me!</p>         </ContextMenuTrigger>          <ContextMenu id="MenuID">             <MenuItem onClick={() => alert('first ')}>                 <button>1. Item</button>             </MenuItem>              <MenuItem onClick={() => alert('second')}>                 <button>2. Item</button>             </MenuItem>         </ContextMenu>     </React.Fragment> )  export default App

<ContextMenuTrigger>是我们需要右键单击以切换菜单的组件。菜单本身是在<ContextMenu>包装器中定义的。对于每个项,都有一个<ContextMenu>组件,我们可以给它一个onClick事件来处理我们的用户输入。

4.  react-lazy-load-image-component

在我们的网站上展示大量的图片需要一段时间。通常,已加载和突然出现的图片会导致用户对UI产生不愉快的体验,当然我们希望避免这种情况。

一个为用户优化有关图像的所有功能的强大库是response-lazy-load-image-component。我们不仅可以创建一个良好的模糊效果,就像我下面的例子,以桥梁加载的图像,但我们也可以延迟加载图像。这可以在下面的官方示例中看到:

优秀的React.js库有哪些

5. react-onclickoutside

用户界面设计的一个重要规则是,认真评估尽可能多的用户输入。每个人都应该清楚这一点,但是有时可能很难将这样的东西实现为代码。

一个可以想象的例子是用户折叠的菜单。如果你想再次关闭它,90%的用户倾向于简单地点击网站的死区(即那些本身不会产生反应的元素)。在几乎所有的专业网站上,这是完全相同的。要关闭菜单,只需再次单击它的旁边,而不是直接在它上切换。

有一个库可以满足这类的操作,它就是response-onclickoutside,它允许我们处理实际元素之外的单击事件。

在下面的示例中,你可以看到我们如何为一个简单的h2和button实现此功能。仅当单击除这两个之外的任何内容时,console.log才会输出。处理此事件的函数必须调用handleClickOutside。

import React, { Component } from 'react' import onClickOutside from 'react-onclickoutside'  class App extends Component {     handleClickOutside = evt => {         console.log('You clicked outside!')     }      render() {         return (             <div>                 <h2>Click outside!</h2>                 <button>Don't click me!</button>             </div>         )     } }  export default onClickOutside(App)

感谢各位的阅读,以上就是“优秀的React.js库有哪些”的内容了,经过本文的学习后,相信大家对优秀的React.js库有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯