美文网首页ReactNative
TypeError: undefined is not an o

TypeError: undefined is not an o

作者: survivorsfyh | 来源:发表于2020-03-28 15:15 被阅读0次
    TypeError: undefined is not an object (evaluating '_react.default.defaultProps.object')
    

    在 ReactNative 项目开发中,起初对组件属性进行检测的时候使用了 defaultProps 属性,但抛出了如上的异常提示

    解决办法

    将如上 defaultProps 属性替换为 React 中的 prop-types 的属性即可;
    注:React 自从 V15.5 版本后将 prop-types 独立分离,所以需要单独引入;

    首先,安装 prop-types

    npm install --save prop-types
    

    其次,引入 prop-types,此处区分 ES 6 或 ES 5,写法上稍有一些出入
    ES 6 方式

    import PropTypes from 'prop-types';
    

    ES 5方式

    var PropTypes = require('prop-types');
    

    最后,将 defaultProps 的地方替换为 prop-types,在需要的地方调用即可

    static propTypes = {
            item : PropTypes.object, 
            width : PropTypes.number,
            height : PropTypes.number,
            backgroundColor : PropTypes.string,
            fontSize : PropTypes.number,
            // item : React.defaultProps.object, 
            // width : React.defaultProps.number,
            // height : React.defaultProps.number,
            // backgroundColor : React.defaultProps.string,
            // fontSize : React.defaultProps.number,
        };
    

    以上便是此次分享的全部内容,希望能对大家有所帮助!

    相关文章

      网友评论

        本文标题:TypeError: undefined is not an o

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