Обновление состояния типа Array <Object>в ReactJS без мутации - PullRequest
1 голос
/ 05 марта 2019

У меня есть массив объектов с метаинформацией. Вот схема для объекта.

       this.state.slotData [{
        availability: boolean,
        id: number,
        car: {
            RegistrationNumber : string,
            Color: string
        }, {...}, {...}, ...]

Теперь для любой входящей машины я записываю детали машины. Далее я проверяю, доступны ли какие-либо слоты, и если да, обновляет состояние slotData . I filter () slotData, чтобы найти все доступные слоты, затем обратитесь к availableSlots [0], чтобы получить доступ к идентификатору ближайшего пустого слота. Теперь мне просто нужно обновить this.state.slotData , не изменяя его.

1 Ответ

0 голосов
/ 06 марта 2019

Если вы хотите применить неизменяемое обновление и добавить автомобиль как отдельный объект в массиве slotData, вы должны сначала распространить весь массив slotData, а затем добавить объект car следующим образом:

const updatedSlotData = [...slotData, carObj];
this.setState({ slotData: updatedSlotData });

Пока вы делаетескопируйте сначала, вы можете безопасно изменить копию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...