当前位置: 首页 > 科技观察

5个很棒的React.js库值得你自己尝试!

时间:2023-03-16 21:17:38 科技观察

React在过去几年中越来越受欢迎。随之而来的是越来越多的库的发布,给我们带来了新的可能性,但最重要的是让开发工作变得越来越容易。在这篇文章中,我介绍了5个React库,希望能给你带来一些帮助。1.react-portal我认为React中的Portals对大多数人来说都很熟悉,尽管它们很少被使用。以下是React文档中对它们的描述:Portal提供了一种极好的方式来将子节点渲染到存在于父组件外部的DOM节点。通常,我们的整个React应用程序都呈现在HTML中的一个DOM节点中。但是使用门户,我们可以定义额外的节点,我们可以在这些节点上安装应用程序的某些部分,例如各个独立的组件。但是官方文档中对portal的描述比较繁琐复杂,这也是react-portal出现的原因之一。现在使用react-portal:import{Portal}from'react-portal'

Thisisportaledintotheportaldiv!

只需使用选择器(这样asgetElementById)HTML代码中的门户容器作为目标,就可以了。在React.js应用程序的public/index.html文件中:
如上所示,每个React应用程序所需的根元素都存在像往常一样,使用门户我们可以将元素分配到与根相同的级别。当然我们也可以动态切换portal{this.state.show?(

Portalcontent

):null}2.react-Toastify是现代Web开发中为最终用户提供动态信息的绝对必要工具。不幸的是,JavaScript中的alert()函数不是用于此目的的好选择,而且每个人都知道,因此有各种UI库。这里介绍一个React提示插件react-toastify,这是一个小巧的可定制库。下面是官方的例子:用法如下:import{ToastContainer,toast}from'react-toastify'import'react-toastify/dist/ReactToastify.css'toast.configure({autoClose:2000,draggable:false,position:toast.POSITION.TOP_LEFT})constnotify=()=>toast('Wowsoeasy!')constApp=()=>(通知!
)逐步:首先导入库本身,但重要的是之后导入所需的CSS。然后配置toast,autoClose表示toast时间长了会自动消失。通过使用toast()函数,您可以使吐司出现。更酷的功能:我们还可以将JSX放入toast中:constnotify=()=>toast(

BigText

)autoClose可以替换为false,因此它永远不会自动关闭。3.react-contextmenu很难想象没有上下文菜单的应用程序,这在网站上也很不常见。这不再是因为越来越多的Web应用程序正在接近真正的桌面应用程序,这些应用程序通常已经提供了类似的良好性能和许多我们多年前从未预料到的功能。这些功能之一是用户对右键单击的评价,它在网站上的使用越来越多。当然,那些是具有许多UI元素的更复杂的控件。通常用于显示所谓的上下文菜单,为此有一个非常方便的React.js库。用法如下:importReactfrom'react'import{ContextMenu,MenuItem,ContextMenuTrigger}from'react-contextmenu'constApp=()=>({/*IDforeveryinstancemustbeindividual*/}

右键点击我!

alert('first')}>alert('second')}>
)exportdefaultApp是我们需要右键单击以切换菜单的组件。菜单本身在包装器中定义。对于每个项目,都有一个组件,我们可以给它一个onClick事件来处理我们的用户输入。4.react-lazy-load-image-component在我们的网站上显示大量图片需要一段时间。通常,已经加载并突然出现的图像会导致不愉快的UI用户体验,我们当然希望避免这种情况。response-lazy-load-image-component是一个功能强大的库,可以为用户优化有关图像的所有内容。我们不仅可以创建一个漂亮的模糊效果,就像我在下面的示例中使用桥接加载图像一样,我们还可以延迟加载图像。这可以在下面的官方示例中看到:5.react-onclickoutsideUI设计的一个重要规则是仔细评估尽可能多的用户输入。每个人都应该清楚这一点,但有时很难将这样的东西实现到代码中。一个可以想象的例子是用户折叠菜单。如果你想再次关闭它,90%的用户倾向于简单地点击网站的死区(即不会自行反应的元素)。在几乎所有的专业网站上,这都是完全一样的。要关闭菜单,只需再次单击它旁边的,而不是直接在它上面切换。这种操作有一个库,它是response-onclickoutside,它允许我们在实际元素之外处理点击事件。在下面的示例中,您可以看到我们如何为简单的h1和按钮实现此功能。console.log仅在单击这两个以外的任何内容时输出。处理此事件的函数必须调用handleClickOutside。importReact,{Component}from'react'importonClickOutsidefrom'react-onclickoutside'classAppextendsComponent{handleClickOutside=evt=>{console.log('Youclickedoutside!')}render(){return(

Clickoutside!

)}}exportdefaultonClickOutside(App)