React Selector:通过两个组件传回 onChange 事件

React Selector: passing onChange event back through two components

我正在尝试通过两个组件将来自 React 选择器的 onChange 事件传递回父应用程序。使用下面的内容,e.target.value 未定义,因此事件似乎不会返回。什么是不正确的?

父应用程序,通过一直向下传递 selectCity,我假设事件 e 应该返回到它。

  selectCity = e => {
     console.log('filter city' + e.target.value)
     this.setState({
        filteredBuildings: this.state.filteredBuildings.filter((b) =>
        b.filterOptions.city === e.target.value)
     })
   }

   <FilterSection
      cityFilterOptions={this.getCityFilterOptions()}
      selectCity={this.selectCity}
   />

中间组件,FilterSection,简单地传递 selectCity :

const FilterSection = props =>
    <div className="filter-section">
       <Filter
           cityFilterOptions={props.cityFilterOptions}
           selectCity={props.selectCity}
       />    
     </div>

子组件,试图将 selectCity 函数设置为 onChange 事件。

        return (
        <div className="filter-row">
            <div className="filter">
                <Select
                    onChange={this.props.selectCity}
                    className="basic-single"
                    classNamePrefix="select"
                    isClearable={true}
                    isSearchable={true}
                    name="color"
                    options={this.props.cityFilterOptions}
                    placeholder="All Cities"
                />
            </div>
        </div>
    );

尝试将事件作为参数传递给 this.props.selectCity,如下所示:onChange={(e)=>this.props.selectCity(e)} 还要检查您的 this.props.cityFilterOptions,它可能没有返回正确的结果。