PropType React Native 不是一个对象



我在反应原生代码中的 PropType 有问题:

import React, { Component, PropTypes } from 'react';
import { Text } from 'react-native';
export default class Star extends Component {
    render() {
        return ( <Text> Hello </Text> );
    }
}
Star.propTypes = {
    fullStar: PropTypes.string.isRequired,
    halfStar: PropTypes.string.isRequired,
    emptyStar: PropTypes.string.isRequired,
    half: PropTypes.bool,
    count: PropTypes.number,
    size: PropTypes.number,
}
Star.defaultProps = {
    fullStar: "",
    halfStar: "",
    emtyStar: "",
    half: 'true',
    count: 5,
    size: 30,
}

我的错误未定义不是一个对象(评估'_react2。PropTypes.string')

感谢您阅读;)

PropTypes移动到单独的包中。使用prop-types包。

更多信息在这里。

注意:

自 React 以来,React.PropTypes 已经转移到不同的包中 v15.5. 请改用道具类型库。我们提供 代码模组脚本来自动转换。

是的

,PropType 已从版本 15.x 中弃用您需要安装软件包:

npm install prop-types

然后导入它。

import PropTypes from 'prop-types';

如果您遇到此类问题,这将很有帮助。在最新的 react 本机版本(0.58.3)中,项目包含的"反应原生可折叠栏"包有此错误

Undefined is not an object(evaluating 'React.PropTypes.oneOf')

我可以找到这个模块也有下面的依赖项。

"prop-types": "^15.5.10",
"react-native-vector-icons": "^3.3.0"

首先,我在BarCollapsible中评论了下面的代码.js

   static propTypes = {
         style: View.propTypes.style,
         titleStyle: Text.propTypes.style,
         tintColor: PropTypes.string,
   }

然后我卸载了反应原生矢量图标并使用最新版本重新安装,最终摆脱了错误。

有时,如果您安装任何未使用最新 react 本机更新的节点模块,则在每个导入 proptype 的 js 文件中都有更改

replace
import {PropTypes} from 'react';
with
import PropTypes from 'prop-types';
import PropTypes from 'prop-types';

相关内容

最新更新