Почему 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};
});
}
.....
.slice()
вернет копию массива. Без него вы изменяете предыдущее состояние. React зависит от того, что вы этого не сделаете, чтобы обнаружить, что изменилось, чтобы он мог воссоздать только соответствующие части шаблона. Узнать больше в React Tutorial.
это правильно, когда вы не используете срез, состояние меняется, но экран не обновляется, поэтому ваши изменения не будут видны.