PropType没有给出警告

时间:2018-02-11 02:52:15

标签: javascript node.js reactjs create-react-app react-proptypes

我有一个节点项目,非常简单,我有一个页面,一个组件和一个index.js。我有两个道具:textnum。我正在尝试使用PropTypes来提供警告,如果它们不是正确的类型,或者当我执行.isRequired时它们不存在。但是,他们没有抛出任何错误。这是我的PropTypes代码的问题吗?我使用的是React 16.2.0和prop-types 15.6.0。我使用create-react-app来创建我的应用。

这是代码。

App.js:

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

class App extends React.Component{
  render() {
    let text = this.props.text
    let num = this.props.num
    return <h1>{text}{num}</h1>
  }
}

App.propTypes = {
  text: PropTypes.string.isRequired,
  num: PropTypes.number
};

export default App

index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

ReactDOM.render(
  <App num="hey"/>,
  document.getElementById('root')
);

的index.html:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>React App</title>
</head>
<body>
  <div id="root"></div>
</body>
</html>

正如您所看到的,num不仅类型错误(字符串而不是数字),而且text不存在,并且标记为.isRequired。< / p>

我的服务器继续运行并显示“嘿”并且不会发出任何警告。我在这里错过了什么?????

2 个答案:

答案 0 :(得分:6)

错误不会在您的终端中打印,而是在浏览器控制台中打印。并检查控制水平,你可能在&#34;警告&#34;或其他什么。

答案 1 :(得分:0)

当我运行直接在html页面中编写的组件时,浏览器控制台会显示警告。但是,当我使用转译捆绑软件进行相同的测试时,我没有得到相同的结果。我正在使用webpack。我想念什么吗?

export class Resumo extends React.Component {

    static propTypes = {
        podeRedirecionar: PropTypes.bool.isRequired
    }

}