2017-06-20 50 views
2

我嘗試了不同的流星/反應教程,我總是遇到同樣的問題。反應流星的PropTypes不適用於我

我不知道爲什麼PropTypes不會在控制檯中顯示警告,如果出現錯誤。例如:

如果我刪除標題<TitleBar title="Test title"/>該代碼仍然正常工作,即使沒有警告即使它是必需的。

如果我在對象,布爾或數組title: PropTypes.string.isRequired中更改字符串,一切仍然正常,沒有警告。

import React from 'react'; 
import PropTypes from 'prop-types'; 

export default class TitleBar extends React.Component { 
    render(){ 
    return (
     <div> 
     <h1>{this.props.title}</h1> 
     </div> 
    ); 
    } 
} 

TitleBar.propTypes = { 
    title: PropTypes.string.isRequired 
}; 

我也試過官方的Meteor/React教程,我也遇到了同樣的問題。 https://www.meteor.com/tutorials/react/components

PropType僅用於測試目的嗎?

+0

我複製粘貼您的代碼和它的作品完美的罰款導入此 。如果我提供非字符串,我會收到警告。 – Chris

+0

@Chris你是否嘗試過流星的新項目?我做了一個新的流星項目並安裝了這個:meteor npm install --save react react-dom 你有什麼想法還有什麼可能是錯誤的? – Mukos

+0

您能否告訴我使用哪個版本的反應 – mitchken

回答

3

從NPM

npm install --save prop-types 

安裝新的軟件包,並在你的代碼

import React from 'react'; 
    import PropTypes from 'prop-types'; 
    export default class TitleBar extends React.Component { 
    render() { 
      return (
      <div> 
      <h1>{this.props.title}</h1> 

      </div> 
       ); 
     } 
    } 

    TitleBar.propTypes = { 
     title: PropTypes.string.isRequired 

     };