ES
Раз уж мутировать, то лучше без […[] ] 🤷♂️
Size: a a a
ES
α
α
return {...state, exploreUsers}ES
exploreUsers[action.payload.index] = {...targetUser, followers}α
exploreUsers[action.payload.index] = {...targetUser, followers}exploreUsersES

exploreUsers новый, но объекты внутри него так же остались поинтерамиα
α
α
ES
exploreUsers = [...state.exploreUsers]никакого толку. Твой код ничего не мутирует, ибо фильтр возвращает новый массив. И то что можно сразу
state.exploreUsers[index].followers.filter(…)
TM
TM
α
exploreUsers = [...state.exploreUsers]никакого толку. Твой код ничего не мутирует, ибо фильтр возвращает новый массив. И то что можно сразу
state.exploreUsers[index].followers.filter(…)
{...[... и filter/map вызововES
const { exploreUsers } = state;
const { followers } = exploreUsers[action.payload.index]
const updatedFollowers = followers.filter(user => user.username !== action.payload.username)
exploreUsers[action.payload.index] = {...targetUser, followers: updatedFollowers}
return {
...state,
exploreUsers
}const object = { key: "value", array: [] }
const renamedObject = { ...object }
const renamedArray = [ ...object.array ]
```А еще [ ...someArrayWithObject ] может давать ложную уверенность, что ты ничего не смутируешь, ибо ты вроде как создал новую переменную и скопировал содержимое.α
const { exploreUsers } = state;
const { followers } = exploreUsers[action.payload.index]
const updatedFollowers = followers.filter(user => user.username !== action.payload.username)
exploreUsers[action.payload.index] = {...targetUser, followers: updatedFollowers}
return {
...state,
exploreUsers
}const object = { key: "value", array: [] }
const renamedObject = { ...object }
const renamedArray = [ ...object.array ]
```А еще [ ...someArrayWithObject ] может давать ложную уверенность, что ты ничего не смутируешь, ибо ты вроде как создал новую переменную и скопировал содержимое.ES
IT