>

항목을 추가 할 수있는 함수를 만들려고합니다. 로컬 상태의 배열. 몇 가지 기능을 만들 수 있습니다 그 상태의 각 배열을 수용하지만, 나는 이 작업을 수행하는 기능은 하나만 필요합니다. 내가있는 방식 작동하지 않습니다. 아마도 물러서서 재고해야 할 것 같습니다 하지만이 작업을 수행 할 방법을 찾고 싶었습니다.

감사합니다!

this.state = {
  category1: [],
  category2: []
}
addItem(category, type){
  this.setState({
    category: [...this.state.category, type]
  })
}
listsOfItems.types.map((type, i) => (
  <ListItem 
    onPress={ () => this.addItem(category1, type)}
  />
))
listOfOtherItems.types.map((type, i) => {
  <ListItem
    onPress={ () => this.addItem(category2, type)}
  />
})

  • 답변 # 1

    이 경우 반복이 그렇게 나쁘지 않다고 생각하지만 실제로 일반화하려면 계산 된 속성 이름을 사용할 수 있습니다.

    this.state = {
      category1: [],
      category2: []
    }
    addItem(category, type){
      this.setState({
        [category]: [...this.state[category], type]
      })
    }
    listsOfItems.types.map((type, i) => (
      <ListItem 
        onPress={ () => this.addItem('category1', type)}
      />
    ))
    listOfOtherItems.types.map((type, i) => {
      <ListItem
        onPress={ () => this.addItem('category2', type)}
      />
    })
    
    

관련 자료

  • 이전 javascript - 다른 웹 사이트의 html 파일을 포함 하시겠습니까?
  • 다음 amazon web services - AWS Federated Identity Pool 용 엔터프라이즈 Google 도메인으로 로그인 제한