我正在尝试创建一个函数,该函数允许我向 处于本地状态的数组。我可以创建几个功能 可以满足状态中的每个数组,但是我感觉就像 应该只需要一个执行此操作的功能即可。我的方式 这样做是行不通的。我可能需要退后一步,重新考虑 但我希望能找到一些方法使之工作。
谢谢!
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)}
/>
})
答案 0 :(得分:1)
在这种情况下,我认为重复并不是那么糟糕,但是如果您真的想将其概括化,则可以使用computed property name:
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)}
/>
})