如果我在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
答案 0 :(得分:0)
尝试使用反应小组推荐的constructor
方法初始化状态。
class SearchArea extends Component {
constructor(props) {
super(props)
this.state = {
showFederalState: false
};
}
}
答案 1 :(得分:0)
尝试将一个构造函数添加到SearchArea类。几天前我遇到了类似的问题并修复了它。通过我收到了不同的错误消息,所以不要接受我的话。