我正在处理 react-redux
应用程序的一些可访问性问题。
我安装了 npm install eslint eslint-plugin-jsx-a11y@4.0.0 --save-dev
现在,当我运行我的应用程序时,出现以下错误:
Failed to compile.
Error in ./src/components/Promo.jsx
/code/src/components/Promo.jsx
15:10 error 'propTypes' is not defined no-undef
19:10 error 'defaultProps' is not defined no-undef
42:3 error 'updateCellCode' is not defined no-undef
✖ 3 problems (3 errors, 0 warnings)
我没有看到任何语法错误,代码对我来说是正确的:
import React, { PureComponent, PropTypes } from 'react';
import { throttle, prepAndFormatForInnerHTML } from '../util';
import '../assets/styles/application/promo.css';
import Promos from '../assets/strings/promos.json'; // placeholder info
const MOBILE_BREAKPOINT = 679; // from scss file
/** Used in Account, App, and OrderStatus */
class Promo extends PureComponent {
static propTypes = {
hideOnSmall: PropTypes.bool,
}
static defaultProps = {
hideOnSmall: false,
}
constructor() {
super();
this.updateCellCode = throttle(this.updateCellCode, 100);
this.state = {
cellCode: Promos[0].cellCodeWeb,
};
}
其他人能看出这里有什么问题吗?为什么会出现这些错误?
最佳答案
PropTypes
现在是 separate包(自 React v15.5
起)。
所以代替
import { PropTypes } from 'react';
请使用
import PropTypes from 'prop-types';
实际错误如何 - 您可以尝试使用版本 3 的 eslint
(关于此的 see more)。
关于javascript - 未定义错误 'propTypes' 未定义错误 'defaultProps',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52055475/