美文网首页
react列表展示的优化

react列表展示的优化

作者: 雨落倾城夏微凉_e861 | 来源:发表于2020-09-09 10:39 被阅读0次

项目开发完成后除了改bug外,还要考虑一些细节的优化点,考虑哪些行为对用户是不友好的.在之前开发完成的那个react项目中找个小例子说明一下.

在之前开发的项目中有很多列表展示的数据,但是如果没数据要展示ui给定的设计,也就是一些图片文案什么的.鉴于要多地方使用所以将为空的状态单独写一个组件,图片地址和文案动态传入.

先来说说会出现的情况因为数据是异步请求的,刚开始我是通过数据的长度是否为0来判断是否展示空组件,但是数据请求需要一定的时间,那么就会出现用户进入页面后空组件会一闪而过,这样对于用户在视觉上的体验肯定是不友好的.

因此我采取的方法是定义一个状态,默认值设为false,当请求成功时状态设为true.当状态为true并且数据长度为0时才展示空组件.但是这样会引来另一个问题,那就是刚开始页面会出现短暂空白然后展示空组件或者数据列表.当然这个可以根据产品要求可以加一些loading动画什么的.

let [newList, setCount] = useState({//需要获取的数据
    pageNum: 1,
    pageSize: 10,
    total: 0,
    list: []
  });
let [pageMain, setPagemain] = useState(false);//设置数据是否请求成功的状态

  let initTask = pageNum => {
    getTaskNum(0, pageNum, newList.pageSize).then(res => {//数据请求方法
      if (res.msg == "success") {
        setCount({ ...res.data, pageNum });
        if (!pageMain) {//如果状态是false的话那就设置为true
          setPagemain(true);
        }
      }
    });
  };

  useEffect(() => {//调用数据请求方法
    initTask(newList.pageNum);
  }, []);

return (
    <Layout>
      <Antspin ishide={pageMain ? "none" : "block"}>//根据设置的状态判断loading是否显示隐藏
        <Spin size="large" spinning={!pageMain}></Spin>
      </Antspin>

      {pageMain && newList.list.length == 0 ? (//如果状态为true并且数据长度为0展示空组件
        <MangeVoid voidText="没有新的分配项目呦,耐心等等吧。"></MangeVoid>
      ) : (
        newList.list.map((item, index) => (
          <ManageNewTask key={index}> </ManageNewTask>
        ))
      )}
    </Layout>
  );

这样就可以让用户体验更友好一些.

相关文章

  • react列表展示的优化

    项目开发完成后除了改bug外,还要考虑一些细节的优化点,考虑哪些行为对用户是不友好的.在之前开发完成的那个reac...

  • React Native实现列表刷新

    React Native中的ListView React Native 提供了几个适用于展示长列表数据的组件,一般...

  • React-Native:长列表

    React-Native:ListView React-Native提供了几个适用于展示长列表数据的组件,一般常用...

  • React -动态展示数据列表

    react 动态渲染数据列表,小demo走一波 那么咱们先来提出一个问题吧 如何将一个数据的数据转换为一个标签的数...

  • 使用react 实现一个无限滚动列表

    仓库地址:React 无限滚动demo 整体思路:通过定位将列表项展示在可视区域。滚动时,列表项dom不增加,增加...

  • Day5 如何使用长列表/网络

    如何使用长列表 React Native提供了几个适用于展示长列表数据的组件,一般而言我们会选用FlatList或...

  • 【React.js 20】React性能优化

    React性能优化 React性能优化主要分三块: React 组件性能优化 属性传递优化针对单组件性能优化,很多...

  • 虚拟化列表

    虚拟列表使用的场景 虚拟列表是对长列表对一种优化手段,对于一些业务场景,要展示对列表很长,同时不能使用分页对方式,...

  • 深入浅出React和Redux学习笔记(五)

    React组建的性能优化 性能优化的方法: 单个React组件的性能优化; 多个React组件的性能优化; 利用r...

  • 一步一步学习 ReactNative + Redux(1)

    写在开始 上篇中,完成了 TODO 列表展示, TODO 项状态更改,添加新 TODO。只是使用的 React N...

网友评论

      本文标题:react列表展示的优化

      本文链接:https://www.haomeiwen.com/subject/juxeektx.html