I have a SearchBar component and it has a subcomponent SearchBarItem.
I passed the method handleSelectItem() to subcomponent to dispatch value to store and it works (I saw it from the Redux tool in Chrome). 
Then, when I tried to get the value from the method submitSearch(), which I also passed it from the parent component, it shows:
Cannot read property 'area' of undefined.
I'm still not so familiar with React. If someone can help, it will be very appreciated. Thanks in advance.
This is parent component SearchBar:
class SearchBar extends Component {   
  handleSelectItem = (selectCategory, selectedItem) => {
    if (selectCategory === 'areas') {
      this.props.searchActions.setSearchArea(selectedItem);
    }
  }
  submitSearch() {
    console.log(this.props.area); // this one is undefined
  }
  render() {
    return (
      <div className="searchBar">
        <SearchBarItem
          selectCategory="areas"
          name="地區"
          options={this.props.areaOptions}
          handleSelectItem={this.handleSelectItem}
          submitSearch={this.submitSearch}
        />
      </div>
    );
  }
}
const mapStateToProps = state => ({
  area: state.search.area,
  brandOptions: state.search.brandOptions,
  vehicleTypeOptions: state.search.vehicleTypeOptions,
  areaOptions: state.search.areaOptions,
});
const mapDispatchToProps = dispatch => ({
  searchActions: bindActionCreators(searchActions, dispatch),
});
export default connect(mapStateToProps, mapDispatchToProps)(SearchBar);
This is subcomponent SearchBarItem:
export default class SearchBarItem extends Component {
  state = {
    showOptions: false,
    selectedItem: [],
  }
  handleSelectItem = (selectedItem) => this.props.handleSelectItem(this.props.selectCategory, selectedItem);
  submitSearch = () => this.props.submitSearch();
  handleClickCategory = () => {
    this.setState({ showOptions: !this.state.showOptions });
  }
  handleClickItem(option) {
    this.setState({
      selectedItem: [...this.state.selectedItem, option],
    }, () => this.handleSelectItem(this.state.selectedItem));
  }
  render() {
    const options = this.props.options.map((item, index) => (
      <div
        className={this.state.selectedItem === item ? "searchBarItem__option--active" : "searchBarItem__option"}
        key={index}
        onClick={() => this.handleClickItem(item)}
      >
        {item}
      </div>
    ));
    const optionBox = (
      <div className="searchBarItem__box">
        <div
          className="searchBarItem__option"
          onClick={() => this.handleClickItem('')}
        >
          不限{this.props.name}
        </div>
        {options}
        <div className="searchBarItem__confirm">
          <span>取消</span><span onClick={() => this.submitSearch()} >套用</span>
        </div>
      </div>
    );
    return (
      <div className="searchBarItem">
        <span onClick={() => this.handleClickCategory()} >
          {(() => {
              switch (this.state.selectedItem.length) {
                case 0: return this.props.name;
                case 1: return this.state.selectedItem[0];
                default: return `${this.state.selectedItem.length} ${this.props.name}`;
              }
            })()}
        </span>
        { this.state.selectedItem.length > 0 ? '' : <Icon icon={ICONS.DROP_DOWN} size={18} /> }
        { this.state.showOptions ? optionBox : '' }
      </div>
    );
  }
}
SearchBarItem.propTypes = {
  name: PropTypes.string.isRequired,
  selectCategory: PropTypes.string.isRequired,
  options: PropTypes.arrayOf(PropTypes.string).isRequired,
  handleSelectItem: PropTypes.func.isRequired,
  submitSearch: PropTypes.func.isRequired,
};
 
     
    