【问题标题】:React PropTypes, 'prop.attr' is missing in prop validationReact PropTypes,道具验证中缺少“prop.attr”
【发布时间】:2020-10-29 03:46:09
【问题描述】:

我看到一个 linting react/prop-type 错误,指出数组中的子项以及父值在 prop 验证中丢失。当我添加类型时,我仍然得到错误。我不确定我在这里缺少什么,这是我当前的代码:

type Props = {
  book: {
    name: string,
    description: any,
  },
};

type State = {};

export default class Book extends React.PureComponent<Props, State> {
    render() {
        const {
          name,
          description,
        } = this.props.book;
        
        return (
        <BookModal
          name={name}
          description={description} 
        />
    );
  }
}

一如既往地感谢您的观看!

【问题讨论】:

    标签: javascript reactjs eslint react-props


    【解决方案1】:

    这是PropTypes validation的警告:

    import PropTypes from 'prop-types';
    
    Book.propTypes = {
      // or book: PropTypes.object 
      book: PropTypes.shape({
        color: PropTypes.string,
        fontSize: PropTypes.number,
      }),
    };
    

    请参阅 PropTypes in TypeScript 和 how to disable proptypes linting(如果您决定不需要它)。

    【讨论】:

    • 由于某种原因,这被读取为意外的令牌错误。
    【解决方案2】:

    如果您使用的是 prop-types,您可以尝试:

    import PropTypes from 'prop-types';    
    type Props = {
         book: PropTypes.shape({
           color: PropTypes.string,
           fontSize: PropTypes.number
         })
    }
    

    https://es.reactjs.org/docs/typechecking-with-proptypes.html#proptypes

    【讨论】:

      猜你喜欢
      • 2018-08-01
      • 1970-01-01
      • 2018-04-02
      • 2021-09-04
      • 2016-12-05
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多