'Proptypes' 未定义
'Proptypes' is not defined
我正在借助以下工具设置一个新的 React:Create React App
但是,我 运行 遇到了 linting 问题。我收到以下 linting 错误 'PropTypes' is not defined. (no-undef)
.
这是导致问题的代码:
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class Routers extends Component {
static propTypes = {
history: PropTypes.object.isRequired
};
...
我试过 react/prop-types 规则,但无济于事。
请安装 prop-types npm 包 - React 1.15 及更高版本创建了单独的包。
您可以将 PropTypes 放在 class 之后(class 之外):
Routers.propTypes = {
history: PropTypes.object.isRequired
}
根据这个问题comment。
这似乎是因为您安装了 eslint 4.x
,而您应该只使用 create-react-app 附带的 eslint 版本。您应该删除您手动安装的任何 eslint,并使用 repo 附带的那个。
我在全局安装了 eslint 的项目中遇到了同样的问题。
我通过在项目中手动安装 eslint 解决了这个问题:
npm i eslint --save
再见
杰夫
请安装prop-types
使用此代码:
npm install --save prop-types
从 React 15.5 开始,PropTypes 被包含在一个单独的包中,'prop-types'。
所以这条线会有所帮助
import PropTypes from 'prop-types'
你可以阅读更多here
如果您使用 <script>
标签;您可以添加此标签:
<script src="https://cdnjs.cloudflare.com/ajax/libs/prop-types/15.7.2/prop-types.min.js" integrity="sha512-ssNhh7jlzc+K93ckIlSXFHHz6fSFv0l619WOv8xbFNRbFOujbasb42LVMOggDrQR1ScJncoWb+KAJx1uF3ipjw==" crossorigin="anonymous"></script>
您可以获得 minified/non-minified
和其他 version
here
祝你好运...
我正在借助以下工具设置一个新的 React:Create React App
但是,我 运行 遇到了 linting 问题。我收到以下 linting 错误 'PropTypes' is not defined. (no-undef)
.
这是导致问题的代码:
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class Routers extends Component {
static propTypes = {
history: PropTypes.object.isRequired
};
...
我试过 react/prop-types 规则,但无济于事。
请安装 prop-types npm 包 - React 1.15 及更高版本创建了单独的包。
您可以将 PropTypes 放在 class 之后(class 之外):
Routers.propTypes = {
history: PropTypes.object.isRequired
}
根据这个问题comment。
这似乎是因为您安装了 eslint 4.x
,而您应该只使用 create-react-app 附带的 eslint 版本。您应该删除您手动安装的任何 eslint,并使用 repo 附带的那个。
我在全局安装了 eslint 的项目中遇到了同样的问题。 我通过在项目中手动安装 eslint 解决了这个问题: npm i eslint --save
再见 杰夫
请安装prop-types
使用此代码:
npm install --save prop-types
从 React 15.5 开始,PropTypes 被包含在一个单独的包中,'prop-types'。 所以这条线会有所帮助
import PropTypes from 'prop-types'
你可以阅读更多here
如果您使用 <script>
标签;您可以添加此标签:
<script src="https://cdnjs.cloudflare.com/ajax/libs/prop-types/15.7.2/prop-types.min.js" integrity="sha512-ssNhh7jlzc+K93ckIlSXFHHz6fSFv0l619WOv8xbFNRbFOujbasb42LVMOggDrQR1ScJncoWb+KAJx1uF3ipjw==" crossorigin="anonymous"></script>
您可以获得 minified/non-minified
和其他 version
here
祝你好运...