Javascript react js中的筛选器出错无法读取属性';指数';reactjs中未定义的

Javascript react js中的筛选器出错无法读取属性';指数';reactjs中未定义的,javascript,reactjs,redux,filter,Javascript,Reactjs,Redux,Filter,Iam使用过滤器过滤对象数组,我通过axios从api获取对象数组,并将其存储在redux状态。它可以很好地进行映射,但使用过滤器时会出现此错误,无法读取reactjs中未定义的属性“indexOf” class ProductsList extends Component { constructor(props) { super(props) this.state = { search : ''

Iam使用过滤器过滤对象数组,我通过axios从api获取对象数组,并将其存储在redux状态。它可以很好地进行映射,但使用过滤器时会出现此错误,无法读取reactjs中未定义的属性“indexOf”

    class ProductsList extends Component {

    constructor(props) {
        super(props)
      
       this.state = {
          search : '' 

        } 
    }

   searchUpdate(event) {
   this.setState({search: event.target.value.substr(0,20)})
} 

async componentDidMount() {

  
  const { fetchProducts } = this.props;
  
  await fetchProducts();
  

  }
  async componentDidUpdate() {
    
  const { fetchProducts } = this.props;
  
  await fetchProducts();
    
   }





    render() {
    //The problem with this filter method however if I don't use it it works will
let productsFiltered = this.props.products.filter((itemProduct)=>{
  return  itemProduct.nameEn.indexOf(this.state.search) !== -1
  } )

        

const mapStateToProps = state => {
  return {
    
  products: state.categoryReducer.products
    
    
  }

}

export default  connect(mapStateToProps, actions)(ProductsList);

“itemProduct”是否具有“nameEn”属性?如果nameEn未定义,则可以在尝试执行indexOf之前进行检查<代码>返回itemProduct.nameEn&&itemProduct.nameEn.indexOf(this.state.search)!==-1Yes它是一个对象数组,由axios从服务器api获取它,它具有nameEn属性