VS2017中React Connected Component的奇异Intellisense错误

时间:2017-10-23 09:28:58

标签: reactjs ecmascript-6 visual-studio-2017 react-redux

我将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:组件定义缺少显示名称。

任何人都知道这背后的原因是什么?

1 个答案:

答案 0 :(得分:1)

您的代码似乎没有任何问题。对我来说,Intellisense工作得非常好。我猜你有一个ESLint设置,迫使你为你的组件定义 displayName

React的虚拟DOM使用显示名来命名组件。您可以在Chrome中的React Developer工具中查看这些显示名称。

尝试这样做:

class SignupVerify extends Component {
  static displayName = 'SignupVerify';

  constructor(props) {
  ...

或在您的班级定义下

SignupVerify.displayName = 'SignupVerify';