我将this .jsx连接组件作为.js文件提取到我的React-Redux项目中,并且我得到了一些奇怪的错误,我没有在其他组件上得到任何错误。
例如,此处的类名显示为灰色,并显示一条消息"本地变量SignupVerify从未使用",即使我将下面的SignupVerify导出为连接组件。
class SignupVerify extends Component
{..}
然后,在我的导出语句中,结束分号会引发错误:"}期望":
export default connect(mapStateToProps, actions)(SignupVerify);
我已经检查过 - 我的所有括号都在适当的位置关闭,而智能感知识别它。
这也让我误解了:
function mapStateToProps(state){
return {
errorMessage: state.auth.error,
signup: state.auth.signup
}
}
告诉我它希望我关闭第一个花括号。
在错误列表控制台中,我看到ESLint:组件定义缺少显示名称。
任何人都知道这背后的原因是什么?
答案 0 :(得分:1)
您的代码似乎没有任何问题。对我来说,Intellisense工作得非常好。我猜你有一个ESLint设置,迫使你为你的组件定义 displayName 。
React的虚拟DOM使用显示名来命名组件。您可以在Chrome中的React Developer工具中查看这些显示名称。
尝试这样做:
class SignupVerify extends Component {
static displayName = 'SignupVerify';
constructor(props) {
...
或在您的班级定义下
SignupVerify.displayName = 'SignupVerify';