未捕获的TypeError:(0,_arrays2.default)不是函数

时间:2018-02-13 18:26:00

标签: reactjs

如果我在Index.js中导入SearchArea.js,我会得到以下行为

SearchArea.js

import React, { Component } from 'react';
import SearchAreaClasses from './SearchArea.css';

class SearchArea extends Component {
    state = {
        showFederalState: false
    };

    render() {

        return (
            <div>
                <div className={SearchAreaClasses.SearchBarContainer}>
                    <div className={SearchAreaClasses.SearchBarContent}>

                        <div className={SearchAreaClasses.SearchBarColumn}>
                            <div className={SearchAreaClasses.SearchBarColumnLabel}>Federal State</div>
                        </div>

                    </div>
                </div>
            </div>
        )
    }
}

export default SearchArea;

Index.js

import SearchArea from './SearchArea/SearchArea';
...
render() {
  return(
    <SearchArea />
  )
}

我在控制台上遇到以下错误:

Uncaught TypeError: (0 , _arrays2.default) is not a function
    at new SearchArea (SearchArea.js?eda9:4)

但是当我从SearchArea.js中删除已定义的状态时,

state = {
        showFederalState: false
};

它的工作就像一个魅力。

React v 16.1.1

Google Chrome 64.0.3282.119

Mac OS 10.13.3

2 个答案:

答案 0 :(得分:0)

尝试使用反应小组推荐的constructor方法初始化状态。

class SearchArea extends Component {
  constructor(props) {
    super(props)    
    this.state = {
      showFederalState: false
    };
 }
}

答案 1 :(得分:0)

尝试将一个构造函数添加到SearchArea类。几天前我遇到了类似的问题并修复了它。通过我收到了不同的错误消息,所以不要接受我的话。