Javascript TypeError:无法读取属性';onSelect';未定义的

Javascript TypeError:无法读取属性';onSelect';未定义的,javascript,reactjs,ecmascript-6,undefined,react-props,Javascript,Reactjs,Ecmascript 6,Undefined,React Props,我已经在react中创建了一个类组件,需要在映射时在render函数中传递props,但是我得到以下错误TypeError:无法读取未定义的属性“onSelect” 下面是我的组件 class SelectLanguage extends Component { render() { let filterbrands = this.props.tvfilter.brand const filteredList = this.filterItems(

我已经在react中创建了一个类组件,需要在映射时在render函数中传递props,但是我得到以下错误
TypeError:无法读取未定义的属性“onSelect”

下面是我的组件

class SelectLanguage extends Component {
    render() {
          let filterbrands = this.props.tvfilter.brand
          const filteredList = this.filterItems();

          if (filterbrands) {} else {}

          return (
              <div className="filter-options">
                  {filteredList &&
                      filteredList.map(item => (
                          <dl>
                              <dt className="mb-2">{item.title}</dt>
                              <input type="search" onChange={this.onSearchInputChange} className="search mb-2" placeholder="Search by Brand" />
                              {item.options.slice(0,this.state.itemsToShow).map(catname => (
                                  <dd
                                      key={catname.catgeory_name}
                                      className="mb-0"
                                  >
                                      <a href="#" onClick={props.onSelect.bind(null, item)}>{catname.catgeory_name}</a>
                                  </dd>
                              ))}
                          </dl>
                      ))}
                      <a className="btn btn-primary expandbutton" onClick={this.showMore}>{this.state.expanded ? (
                          <span>[ - less ]</span>
                          ) : (
                          <span>[ + more ]</span>
                          )
                      }</a>
              </div>
          );
      }
// PropTypes for SelectedLanguage
SelectLanguage.PropTypes = {
  selectedLanguage: PropTypes.string.isRequired,
  onSelect: PropTypes.func.isRequired
};
    }
class SelectLanguage扩展组件{
render(){
让filterbrands=this.props.tvfilter.brand
const filteredList=this.filterietems();
if(filterbrands){}else{}
返回(
{filteredList&&
filteredList.map(项=>(
{item.title}
{item.options.slice(0,this.state.itemsToShow).map(catname=>(
))}
))}

注意:如果我使用的是函数而不是像这样的类,
function SelectLanguage(props){

我相信在将函数设置为

在props.onSelect之前缺少“this”; 您可以在渲染顶部定义道具,以提高可读性;
例如
const{onSelect}=this.props

请更改此代码:

<a href="#" onClick={props.onSelect.bind(null, item)}>{catname.catgeory_name}</a>


您是否尝试过引用this.props.onSelect而不是props.onSelect?
<a href="#" onClick={this.props.onSelect.bind(null, item)}>{catname.catgeory_name}</a>