首页 > 解决方案 > 不明白为什么要使用 slice (React-native)

问题描述

为什么在删除功能中使用 Slice?我尝试了没有切片功能的相同方法,结果是我无法删除最后一个元素。

export default class FlatListBasics extends Component {
  state = {
    data:[
            {key: 'Devin'},
            {key: 'Jackson'},
            {key: 'James'},
            {key: 'Joel'},
            {key: 'John'},
            {key: 'Jillian'},
            {key: 'Jimmy'},
            {key: 'Julie'},
          ]
};
delete(item){
     this.setState(previousState => {
     let tasks = previousState.data.slice();
     tasks.splice(item,1);
      return { data:tasks};
      });
}
.....

标签: slicereact-native-android

解决方案


.slice() will return a copy of the array. Without it, you're mutating the previous state. React depends on you not to do that in order to detect what has changed so it can recreate only the relevant parts of the template. Read more at React Tutorial.


推荐阅读