Реагировать на трассировку карты - PullRequest
0 голосов
/ 04 апреля 2020

Я написал карту для отслеживания значений, поступающих из витрины магазина, но каким-то образом он не может сломать l oop, когда определенное условие выполнено в цикле. Пожалуйста, дайте мне знать, как пройти карту в реагировать нативно и как перерыв после выполнения определенного условия

    this.setState({
      showDropDown:false,
      selectedOption:[{key:newId,value:selectedValue}]
    })
   }else{
  selectedOption.filter(select=>{
    if(select.key === newId){
     return ( this.setState({
      selectedOption:[...this.state.selectedOption,{key:newId,value:selectedValue}]
    }))
    }
    else{
     return  (this.setState({
      selectedOption:[...this.state.selectedOption,{key:newId,value:selectedValue}]
    }))
    }
  })
  }````

1 Ответ

0 голосов
/ 04 апреля 2020

Это происходит потому, что вы возвращаетесь изнутри функции, которую вы передали в функцию фильтра, которая будет перебирать все элементы и возвращать тех, кто вернул true.

Вы должны использовать функцию some, которая останавливается, когда первое истинное значение возвращается. Поэтому замените selectedOption.filter на selectedOption.some.

...