React + TypeScript 组件在接收 props 时报错

报错如下:
Type '{ navList: any; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<Nav> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'. Property 'navList' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<Nav> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'.

错误代码:

import React from 'react';

class Nav extends React.PureComponent<{
  
},{
  
}> {
  constructor(props) {
    super(props);
    this.state = {
      
    };
  }

  render () {
    const navList = this.props && this.props.navList || {};
    return (
      <div>
       
      </div>
    )
  }
}

export default Nav;

问题是我们在这里把 props描述成了一个空对象。

改正之后:

import React from 'react';

class Nav extends React.PureComponent<{
  navList?: any
},{
  
}> {
  constructor(props) {
    super(props);
    this.state = {
      
    };
  }

  render () {
    const navList = this.props && this.props.navList || {};
    return (
      <div>
       
      </div>
    )
  }
}

export default Nav;

注:state 也同样存在这个问题,详见:https://www.jianshu.com/p/a2f45dc7d45c

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容