PropTypes React Native不是对象

Eli*_*ert 5 native reactjs react-native react-proptypes

我的反应原生代码我的PropTypes有问题:

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,
}
Run Code Online (Sandbox Code Playgroud)

我的错误是undefined不是一个对象(评估'_react2.PropTypes.string')

谢谢你的阅读;)

ben*_*nel 9

PropTypes搬进了单独的包裹.使用prop-types包.

更多信息在这里.

注意:

React.PropTypes自React v15.5以来,已经进入了另一个包.请改用prop-types库.我们提供了一个codemod脚本来自动转换.


小智 8

是的,从版本15.x弃用了PropTypes,您需要安装该软件包:

npm install prop-types
Run Code Online (Sandbox Code Playgroud)

然后导入它.

import PropTypes from 'prop-types';
Run Code Online (Sandbox Code Playgroud)