React v16:Uncaught TypeError:无法读取未定义的属性"object"

Edw*_*ona 1 meteor reactjs

我收到此错误并且不知道什么是错的,我的代码很简单我只是想推送一个数组.是如此基本但却无法弄明白.

我正在使用Meteor 1.5.3和React 16

import React, { Component, PropTypes } from 'react';

export default class ListMeds extends Component {
    render(){
        return(
            <li>{this.props.meds.text}</li>
        );
    }
}
ListMeds.propTypes = {
    meds: React.PropTypes.object.isRequired,
};
Run Code Online (Sandbox Code Playgroud)

Mik*_*kov 6

出现此错误是因为您使用的是第16版React.js.在这篇博客文章(宣布React.js版本16)中,您可以阅读:

15.x中引入的弃用已从核心包中删除.React.createClass现在可用作create-react-class,React.PropTypes可用作prop-types ...

你应该安装prop-types模块(如果你使用npm):

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

要么

yarn add prop-types
Run Code Online (Sandbox Code Playgroud)

为了yarn案件.并以这种方式重写您的代码:

import React, { Component } from 'react';
import PropTypes from 'prop-types';

export default class ListMeds extends Component {
    render(){
        return(
            <li>{this.props.meds.text}</li>
        );
    }
}
ListMeds.propTypes = {
    meds: PropTypes.object.isRequired,
};
Run Code Online (Sandbox Code Playgroud)