我刚开始学习React Native。我试图创建一个简单的应用程序,其中有一个按钮,它将删除列表的最后一个元素,然后该列表将被更新。问题在于,当我点击按钮时整个列表都被删除了。能否有人帮助我解决这个问题吗?
谢谢!
谢谢!
//delete Item from the list
class ButtonDelete extends Component{
constructor(props){
super(props);
this.handleChange = this.handleChange.bind(this)
}
handleChange(){
this.props.deleteItem();
}
render(){
const data = this.props.data;
return(
<View>
<FlatList
data={data}
renderItem={({item}) => <Greetings name = {item.key} ></Greetings>}
/>
<Button
onPress={this.handleChange}
title="Delete"
color="#841584"
/>
</View>
);
}
}
export default class FlatListBasics extends Component {
constructor(props){
super(props);
this.state = {
data: [
{key: 'Devin'},
{key: 'Jackson'},
{key: 'James'},
{key: 'Joel'},
{key: 'John'},
{key: 'Jillian'},
{key: 'Jimmy'},
{key: 'Julie'},
]
}
this.deleteItem = this.deleteItem.bind(this);
}
deleteItem() {
this.setState(prevState => ({
data: prevState.data.pop()
}));
}
render() {
const data = this.state.data;
return (
<View>
<ButtonDelete data = {data}
deleteItem={this.deleteItem}/>
</View>
);
}
}
items.pop(); this.setState({ });
- iuliu.net