PropType未发出警告

9
我有一个非常简单的node项目,其中只有一个页面、一个组件和一个index.js文件。我有两个props: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

我的服务器继续运行并显示“嘿”,没有抛出警告。我错过了什么????


嗯...你是用create-react-app创建这个应用程序的吗?@Tony - Dan
是的,create-react-app @Dan - Anthony
我从 my-app 目录下运行了 npm start 命令,但是没有看到任何错误。 - Dan
错误不会在您的终端中打印,而是在您的浏览器控制台中打印。请检查控制台级别,您可能处于“警告”或其他级别。 - Striped
@Striped 哇,我不知道为什么我没有检查那个,非常感谢你。 - Dan
显示剩余4条评论
1个回答

20

这些错误不会在您的终端中打印,而是会在您的浏览器控制台中打印。请检查控制台级别,您可能处于“警告”或其他级别。


2
太好了,但我怎么能在编译时获得警告。我正在使用yarn start。 - Stephane
2
这有点晚了,但是有人成功找到如何在终端中输出错误吗? - Bigboybob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接