@sinevik

Что означает запись ...state?

redusers

import {
  ADD_PLACE,
  DELETE_PLACE,
  SELECT_PLACE,
  DESELECT_PLACE
} from "../actions/actionTypes";

const initialState = {
  places: [],
  selectedPlace: null
};

const reducer = (state = initialState) => {
  switch (action.type) {
    case ADD_PLACE:
      return {
        ...state,
        places: state.places.concat({
          key: Math.random(),
          name: action.placeName,
          image: {
            uri:
              "https://c1.staticflickr.com/5/4096/4744241983_34023bf303_b.jpg"
          }
        })
      };
    case DELETE_PLACE:
      return {
        ...state,
        places: state.places.filter(place => {
          return place.key !== state.selectedPlace.key;
        }),
        selectedPlace: null
      };
    case SELECT_PLACE:
      return {
        ...state,
        selectedPlace: state.places.find(place => {
          return place.key === action.placeKey;
        })
      };
    case DESELECT_PLACE:
      return {
        ...state,
        selectedPlace: null
      };
    default:
      return state;
  }
};

export default reducer;
  • Вопрос задан
  • 57 просмотров
Решения вопроса 1
SvyatYa
@SvyatYa
FrontEnd developer
https://developer.mozilla.org/ru/docs/Web/JavaScri...

Здесь берётся текущий стэйт, деструктиризируется в объекте, а остальные поля, значения которых указываются в этом объекте обновляются.
То есть возвращается в результате новый state с обновленным полем.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
05 нояб. 2024, в 16:31
500 руб./за проект
05 нояб. 2024, в 16:24
5000 руб./за проект
05 нояб. 2024, в 16:12
10000 руб./за проект