账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    typescript 类型报错, 请求支援
    35
    0

    报错信息

    Argument of type 'typeof BottomBar' is not assignable to parameter of type 
    'ComponentClass<{ posts: any; key: any; message: any; isLogin: any; user: any; } 
    & { 
    praiseAction(type: any): (dispatch: any) => Promise<any>; 
    favaAction(type: any): (dispatch: any) => Promise<any>; 
    addToPraisePanel(key: any, data: any): void; 
    removeFromPraisePanel(key: any, uid: any): void; }, any>'.
    
    Types of parameters 'props' and 'props' are incompatible.
        
    Type '{ posts: any; key: any; message: any; isLogin: any; user: any; } 
    & { praiseAction(type: any): (dispatch: any) => Promise<any>; 
    favaAction(type: any): (dispatch: any) => Promise<any>; 
    addToPraisePanel(key: any, data: any): void; 
    removeFromPraisePanel(key: any, uid: any): void; }' is not assignable to type 'BottomBarProps | undefined'.
    
    Type '{ posts: any; key: any; message: any; isLogin: any; user: any; } 
    & { praiseAction(type: any): (dispatch: any) => Promise<any>; 
    favaAction(type: any): (dispatch: any) => Promise<any>; 
    addToPraisePanel(key: any, data: any): void; 
    removeFromPraisePanel(key: any, uid: any): void; }' is not assignable to type 'BottomBarProps'.
    
    Type '{ posts: any; key: any; message: any; isLogin: any; user: any; } 
    & { praiseAction(type: any): (dispatch: any) => Promise<any>; 
    favaAction(type: any): (dispatch: any) => Promise<any>; 
    addToPraisePanel(key: any, data: any): void; 
    removeFromPraisePanel(key: any, uid: any): void; }' is missing the following properties from type 'pageOwnProps': favaNum, isFavorite, isLike, likeNum

    这是自己写的类型

    type pageOwnProps = {
      favaNum: number
      isFavorite: boolean
      isLike: boolean
      likeNum: number
    }
    type reduxProps = {
      posts: any[] 
      key: string 
      message: string
      isLogin: number
      user: any
    }
    type reduxAction = {
      praiseAction(type: any): Promise<any>
      favaAction(type: any): Promise<any>
      addToPraisePanel(key: any, data: any): void
      removeFromPraisePanel(key: any, uid: any): void
    }
    type BottomBarProps = pageOwnProps & reduxProps & reduxAction

    redux connect函数

    @connect(
      ({ posts, user }) => ({
        posts: posts.postlists,
        key: posts.currentKey,
        message: posts.message,
        isLogin: user.status,
        user: user.userinfo
      }),
      dispatch => ({
        praiseAction(type: any) {
          let data = this.key.split('/')
          return type
            ? dispatch(praiseAdd(data[0], data[1]))
            : dispatch(praiseCancel(data[0], data[1]))
        },
        favaAction(type: any) {
          let data = this.key.split('/')
          return type
            ? dispatch(favaAdd(data[0], data[1]))
            : dispatch(favaCancel(data[0], data[1]))
        },
        addToPraisePanel(key: any, data: any) {
          dispatch(addToPraisePanel(key, data))
        },
        removeFromPraisePanel(key: any, uid: any) {
          dispatch(removeFromPraisePanel(key, uid))
        }
      })
    )

    类函数

    class BottomBar extends Component<BottomBarProps, {}> {
      render() {
        let { favaNum, isFavorite, isLike, likeNum } = this.props
        return (...)
    }

    报错信息我做了断行,大神请问哪里的问题

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 火星引力 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部