我正在运行React Native的示例应用程序。我有一个包含对象列表的样本数组,即[a,b,c,d,e]。我在数组中创建了a对象的副本,它创建了a对象的副本,并且我在数组中创建了另一个对象副本,但它被a对象的副本所替换。如何解决这个问题......请帮帮我。 以下是我的代码:
export default class AllCategories_list extends Component {
constructor(props) {
super(props)
this.state = {
dataSource: new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 })
}
}
duplicate(index) {
var duplication = []
var duplicationObj = Object.assign({}, index) //Object.create(duplicateArray)
duplication.push(duplicationObj)
alert(JSON.stringify(duplication))
var finalArray = array.concat(duplication)
this.setState({
dataSource: this.state.dataSource.cloneWithRows(finalArray)
})
}
rowData(list) {
// alert(JSON.stringify(list))
return (
<View style={styles.listContainer}>
<TouchableOpacity onPress={this.duplicate.bind(this, list)}>
<Text style={styles.item}>{list}</Text>
</TouchableOpacity>
</View>
)
}
render() {
return (
<View style={styles.container}>
<ListView
contentContainerStyle={styles.list}
dataSource={this.state.dataSource}
// horizontal={true}
renderRow={this.rowData.bind(this)}
/>
</View>
)
}
}
var finalArray = JSON.parse(JSON.stringify(index));
这也替换了对象。 - Harika