• 2
  • 新人请关照

antd pro connect语法问题

代码片段在 src\pages\user\login\index.tsx

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

请教大家中间的冒号是什么语法?

阅读 1.1k
评论
    2 个回答
    • 2.7k

    typescript类型声明;

    和我下面这一段写法类似:

    interface CountAll {
      rows: object [];
      count: number;
    }
    
    interface Pagination {
      datas: object [],
      total: number,
      pn: number,
      ps: number,
    };
    
    function pageDecorator({ count, rows }: CountAll, pn: number, ps: number): Pagination {
      return {
        datas: JSON.parse(JSON.stringify(rows)),
        total: count,
        ps,
        pn
      };
    }
      • 2
      • 新人请关照

      @Denzel

      类型声明这样就好了

      export interface StateType {  
        status?: 'ok' | 'error';  
        type?: string;  
        currentAuthority?: 'user' | 'guest' | 'admin';  
      }
      
      
      
      {  
              userAndlogin: StateType;  
              loading: {  
                  effects: {  
                      [key: string]: boolean;  
              };  
           };  
        }

      为什么要这样呢

      ({  
        userAndlogin,  
        loading,  
        }: {  
                userAndlogin: StateType;  
                 loading: {  
                            effects: {  
                              [key: string]: boolean;  
                             };  
                          };  
        })
        撰写回答

        登录后参与交流、获取后续更新提醒