react列表展示的優(yōu)化

項目開發(fā)完成后除了改bug外,還要考慮一些細節(jié)的優(yōu)化點,考慮哪些行為對用戶是不友好的.在之前開發(fā)完成的那個react項目中找個小例子說明一下.

在之前開發(fā)的項目中有很多列表展示的數(shù)據(jù),但是如果沒數(shù)據(jù)要展示ui給定的設(shè)計,也就是一些圖片文案什么的.鑒于要多地方使用所以將為空的狀態(tài)單獨寫一個組件,圖片地址和文案動態(tài)傳入.

先來說說會出現(xiàn)的情況因為數(shù)據(jù)是異步請求的,剛開始我是通過數(shù)據(jù)的長度是否為0來判斷是否展示空組件,但是數(shù)據(jù)請求需要一定的時間,那么就會出現(xiàn)用戶進入頁面后空組件會一閃而過,這樣對于用戶在視覺上的體驗肯定是不友好的.

因此我采取的方法是定義一個狀態(tài),默認值設(shè)為false,當請求成功時狀態(tài)設(shè)為true.當狀態(tài)為true并且數(shù)據(jù)長度為0時才展示空組件.但是這樣會引來另一個問題,那就是剛開始頁面會出現(xiàn)短暫空白然后展示空組件或者數(shù)據(jù)列表.當然這個可以根據(jù)產(chǎn)品要求可以加一些loading動畫什么的.

let [newList, setCount] = useState({//需要獲取的數(shù)據(jù)
    pageNum: 1,
    pageSize: 10,
    total: 0,
    list: []
  });
let [pageMain, setPagemain] = useState(false);//設(shè)置數(shù)據(jù)是否請求成功的狀態(tài)

  let initTask = pageNum => {
    getTaskNum(0, pageNum, newList.pageSize).then(res => {//數(shù)據(jù)請求方法
      if (res.msg == "success") {
        setCount({ ...res.data, pageNum });
        if (!pageMain) {//如果狀態(tài)是false的話那就設(shè)置為true
          setPagemain(true);
        }
      }
    });
  };

  useEffect(() => {//調(diào)用數(shù)據(jù)請求方法
    initTask(newList.pageNum);
  }, []);

return (
    <Layout>
      <Antspin ishide={pageMain ? "none" : "block"}>//根據(jù)設(shè)置的狀態(tài)判斷l(xiāng)oading是否顯示隱藏
        <Spin size="large" spinning={!pageMain}></Spin>
      </Antspin>

      {pageMain && newList.list.length == 0 ? (//如果狀態(tài)為true并且數(shù)據(jù)長度為0展示空組件
        <MangeVoid voidText="沒有新的分配項目呦率翅,耐心等等吧莺掠。"></MangeVoid>
      ) : (
        newList.list.map((item, index) => (
          <ManageNewTask key={index}> </ManageNewTask>
        ))
      )}
    </Layout>
  );

這樣就可以讓用戶體驗更友好一些.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市扑浸,隨后出現(xiàn)的幾起案子酬凳,更是在濱河造成了極大的恐慌取募,老刑警劉巖壮吩,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件不皆,死亡現(xiàn)場離奇詭異贯城,居然都是意外死亡,警方通過查閱死者的電腦和手機霹娄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門能犯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人犬耻,你說我怎么就攤上這事踩晶。” “怎么了枕磁?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵渡蜻,是天一觀的道長。 經(jīng)常有香客問我,道長茸苇,這世上最難降的妖魔是什么排苍? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮税弃,結(jié)果婚禮上纪岁,老公的妹妹穿的比我還像新娘。我一直安慰自己则果,他們只是感情好幔翰,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著西壮,像睡著了一般遗增。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上款青,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天做修,我揣著相機與錄音,去河邊找鬼抡草。 笑死饰及,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的康震。 我是一名探鬼主播燎含,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼腿短!你這毒婦竟也來了屏箍?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤橘忱,失蹤者是張志新(化名)和其女友劉穎赴魁,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钝诚,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡颖御,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了凝颇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郎嫁。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖祈噪,靈堂內(nèi)的尸體忽然破棺而出泽铛,到底是詐尸還是另有隱情,我是刑警寧澤辑鲤,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布盔腔,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏弛随。R本人自食惡果不足惜瓢喉,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望舀透。 院中可真熱鬧栓票,春花似錦、人聲如沸愕够。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惑芭。三九已至坠狡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遂跟,已是汗流浹背逃沿。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幻锁,地道東北人凯亮。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像哄尔,于是被迫代替她去往敵國和親假消。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359