美文网首页
dva loading

dva loading

作者: 第2世界 | 来源:发表于2020-01-09 19:15 被阅读0次

    哪来的loading?

    loading 对象是 dva 内置的,他会监听你指定的异步请求方法,方法开始的时候该值为 true , 异步方法结束了该值自动置为 false , 可用于页面刚进来时骨架屏的加载和某些需要 loading 状态的场景,当然 你可以在后面定义多个值(上面注释有说明),实现你当前组件的全局 loading 状态。在上面的代码中,页面刚加载的时候我们发了一个异步方法 (nodelist 仓库下的异步 nodelists 方法),submitting 变为 true 骨架屏效果出现,这个方法执行完了(数据已经拿到)后 submitting 会 变为 false 。

    export default connect(
      ({
        userAndlogin,
        loading,
      }: {
        userAndlogin: StateType;
        loading: {
          effects: {
            [key: string]: boolean;
          };
        };
      }) => ({
        userAndlogin,
        submitting: loading.effects['userAndlogin/login'],
      }),
    )(Login);
    

    刚开始看不懂上面的代码,了解了loading之后简化去掉类型限制就比较明了了:

    export default connect(
      ({
        userAndlogin,
        loading,
      }) => ({
        userAndlogin,
        submitting: loading.effects['userAndlogin/login'],
      }),
    )(Login);
    

    其中userAndlogin对应model中的namespace,可以通过它获取model中定义的state。

    dva-loading 实践用法:https://www.jianshu.com/p/61fe7a57fad4

    相关文章

      网友评论

          本文标题:dva loading

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