Мне нужно обновить состояние с помощью функции обновления помощника неизменяемости, но я не могу сделать это должным образом. Пожалуйста, помогите мне это сделать.
Кроме того, вы можете рассказать мне, как обойтись без функции обновления. Все в порядке.
Мой объект начального состояния
state = {
markers: [
{
key: 1,
latlng: {
latitude: 40.3565,
longitude: 27.9774
}
}
]
И мой ответ jsonResponse:
[{"latlng":{"latitude":"40.3565","longitude":"27.9774"}},{"latlng":{"latitude":"40.3471","longitude":"27.9598"}},{"latlng":{"latitude":"40","longitude":"27.9708"}}]
Теперь я хочу добавить все данные из responseJson в состояние с неизменяемой функцией обновления помощника или без нее, как я могу это сделать.





Сначала отредактируйте свой ответ:
let response = [{"latlng":{"latitude":"40.3565","longitude":"27.9774"}},{"latlng":{"latitude":"40.3471","longitude":"27.9598"}},{"latlng":{"latitude":"40","longitude":"27.9708"}}]
response = response.reduce((prev,curr,index)=>{
curr.key = index;
prev.concat(curr)
},[]);
Во-вторых, создайте начальное состояние на редукторе следующим образом:
state = Map({
markers: List()
})
Наконец, отредактируйте свой редуктор:
[FETCH_MARKERS_SUCCESS]: (state, action) => state.merge(action.payload, {loading: false}),
но я не знаю о редуксе