日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
5個(gè)很棒的 React.js 庫(kù),值得你親手試試!

React在過(guò)去幾年變得越來(lái)越受歡迎。隨之而來(lái)的是越來(lái)越多的庫(kù)的發(fā)布,給我們帶來(lái)了新的可能性,但最重要的是讓開(kāi)發(fā)這工作變得越來(lái)越簡(jiǎn)單。

在本文中,介紹 5 個(gè) React 庫(kù),希望能給你帶來(lái)一些幫助。

1. react-portal

我認(rèn)為React中的 Portals(傳送門) 對(duì)大多數(shù)人來(lái)說(shuō)都很熟悉,即使它們很少被使用。下面是 Reac t文檔中對(duì)它們的描述:

Portal 提供了一種將子節(jié)點(diǎn)渲染到存在于父組件以外的 DOM 節(jié)點(diǎn)的優(yōu)秀的方案。

通常,我們的整個(gè) React 應(yīng)用程序都是在HTML中的一個(gè) DOM 節(jié)點(diǎn)中渲染的。但是通過(guò)portals,我們可以定義附加的節(jié)點(diǎn),在這些節(jié)點(diǎn)上我們可以掛載應(yīng)用程序的各個(gè)部分,例如單個(gè)獨(dú)立的組件。

然而,在官方文檔中,門戶以一種相當(dāng)麻煩和復(fù)雜的方式進(jìn)行描述,這就是也 react-portal 出現(xiàn)的一個(gè)原因。

現(xiàn)在是 react-portal 用法:

 
 
 
 
  1. import { Portal } from ‘react-portal’ 
  2.  
  3.   

    This is portaled into the portal div!

     
  4.  

只需使用 選擇器(如getElementById)將HTML代碼中的portal容器作為目標(biāo),就可以了。

在React.js應(yīng)用程序的public/index.html文件中:

 
 
 
 
 
  •  

    如上所見(jiàn),每個(gè)React應(yīng)用程序所需的根元素都像往常一樣存在,使用了portal我們就可以將元素指定到與根同級(jí)的位置。

    當(dāng)然,我們也可以動(dòng)態(tài)切換portal

     
     
     
     
    1. {this.state.show ? ( 
    2.       
    3.     

      Portal content

       
    4.    
    5. ) : null} 

    2. react-toastify

    在現(xiàn)代web開(kāi)發(fā)中,為終端用戶提供動(dòng)態(tài)信息是絕對(duì)必要的。不幸的是,JavaScript 中的alert()函數(shù)不是實(shí)現(xiàn)此目的的好選擇,這一點(diǎn)大家都很清楚,所以才會(huì)出現(xiàn)各種各樣的 UI 庫(kù)。

    這里介紹一個(gè) React 提示插件 react-toastify ,它是一個(gè)很小且可自定義的庫(kù),以下是官方給出的事例:

    用法如下:

     
     
     
     
    1. import { ToastContainer, toast } from 'react-toastify' 
    2. import 'react-toastify/dist/ReactToastify.css' 
    3. toast.configure({ 
    4.   autoClose: 2000, 
    5.   draggable: false, 
    6.   position: toast.POSITION.TOP_LEFT 
    7. }) 
    8. const notify = () => toast('Wow so easy !') 
    9.  
    10. const App = () => ( 
    11.    
    12.     Notify ! 
    13.   
     
  • 一步一步說(shuō)下:

    • 首先導(dǎo)入庫(kù)本身,但重要的是隨后導(dǎo)入所需的CSS。
    • 然后配置toast,autoClose的意思是toast過(guò)了多長(zhǎng)時(shí)間就會(huì)自動(dòng)消失。
    • 通過(guò)使用toast()函數(shù),就可以讓toast出現(xiàn)。

    更酷的功能:

    我們還可以在toast中放入JSX:

     
     
     
     
    1. const notify = () => toast(

      Big Text

    autoClose可以替換為false,因此它永遠(yuǎn)不會(huì)自動(dòng)關(guān)閉。

    3. react-contextmenu

    很難想象沒(méi)有上下文菜單的應(yīng)用,這在網(wǎng)站上也是很不尋常。這不再是因?yàn)樵絹?lái)越多的Web應(yīng)用程序接近真實(shí)的桌面應(yīng)用程序,而這些應(yīng)用程序通常已經(jīng)提供了類似的良好性能和許多功能,而這些功能是我們多年前從未期望過(guò)的。

    這些功能之一是用戶對(duì)右鍵單擊的評(píng)估,這種評(píng)估在網(wǎng)站上越來(lái)越多地使用。當(dāng)然,那些是帶有許多UI元素的更復(fù)雜的控件。

    通常用于顯示所謂的上下文菜單,為此目的,有一個(gè)非常方便的React.js庫(kù)。用法如下:

     
     
     
     
    1. import React from 'react' 
    2. import { ContextMenu, MenuItem, ContextMenuTrigger } from 'react-contextmenu' 
    3.  
    4. const App = () => ( 
    5.      
    6.          {/* ID for every instance must be individual */}  
    7.             

      Right click on me!

       
    8.          
    9.  
    10.          
    11.              alert('first ')}> 
    12.                  
    13.              
    14.  
    15.              alert('second')}> 
    16.                  
    17.              
    18.          
    19.      
    20.  
    21. export default App 

    < ContextMenuTrigger>是我們需要右鍵單擊以切換菜單的組件。菜單本身是在 包裝器中定義的。對(duì)于每個(gè)項(xiàng),都有一個(gè) 組件,我們可以給它一個(gè)onClick事件來(lái)處理我們的用戶輸入。

    4. react-lazy-load-image-component

    在我們的網(wǎng)站上展示大量的圖片需要一段時(shí)間。通常,已加載和突然出現(xiàn)的圖片會(huì)導(dǎo)致用戶對(duì)UI產(chǎn)生不愉快的體驗(yàn),當(dāng)然我們希望避免這種情況。

    一個(gè)為用戶優(yōu)化有關(guān)圖像的所有功能的強(qiáng)大庫(kù)是response-lazy-load-image-component。我們不僅可以創(chuàng)建一個(gè)良好的模糊效果,就像我下面的例子,以橋梁加載的圖像,但我們也可以延遲加載圖像。這可以在下面的官方示例中看到:

    5. react-onclickoutside

    用戶界面設(shè)計(jì)的一個(gè)重要規(guī)則是,認(rèn)真評(píng)估盡可能多的用戶輸入。每個(gè)人都應(yīng)該清楚這一點(diǎn),但是有時(shí)可能很難將這樣的東西實(shí)現(xiàn)為代碼。

    一個(gè)可以想象的例子是用戶折疊的菜單。如果你想再次關(guān)閉它,90%的用戶傾向于簡(jiǎn)單地點(diǎn)擊網(wǎng)站的死區(qū)(即那些本身不會(huì)產(chǎn)生反應(yīng)的元素)。在幾乎所有的專業(yè)網(wǎng)站上,這是完全相同的。要關(guān)閉菜單,只需再次單擊它的旁邊,而不是直接在它上切換。

    有一個(gè)庫(kù)可以滿足這類的操作,它就是response-onclickoutside,它允許我們處理實(shí)際元素之外的單擊事件。

    在下面的示例中,你可以看到我們?nèi)绾螢橐粋€(gè)簡(jiǎn)單的h1和button實(shí)現(xiàn)此功能。僅當(dāng)單擊除這兩個(gè)之外的任何內(nèi)容時(shí),console.log才會(huì)輸出。處理此事件的函數(shù)必須調(diào)用handleClickOutside。

     
     
     
     
    1. import React, { Component } from 'react' 
    2. import onClickOutside from 'react-onclickoutside' 
    3.  
    4. class App extends Component { 
    5.     handleClickOutside = evt => { 
    6.         console.log('You clicked outside!') 
    7.     } 
    8.  
    9.     render() { 
    10.         return ( 
    11.             
       
    12.                 

      Click outside!

       
    13.                  
    14.             
     
  •         ) 
  •     } 
  •  
  • export default onClickOutside(App) 
  •  


    網(wǎng)站標(biāo)題:5個(gè)很棒的 React.js 庫(kù),值得你親手試試!
    當(dāng)前URL:http://m.5511xx.com/article/cdhgcso.html