'redux reducer... + 1 I have created a new array and added one. now how do I put it back together and return the new state
This almost works but its not updating the ui.... so found the index of what I want to change, I created a new array newFavorites and increased a value on one of its keys (sets +1). But I am not sure how to return the new state with the updated key value.
here is the model. i just want to add one to the sets
class Exercise {
constructor(id, name, gifUrl, equipment, sets=4){
this.id = id;
this.name = name;
this.gifUrl = gifUrl;
this.equipment = equipment;
this.sets = sets;
}
}
export default Exercise;
const initialState = {
favoritedExercises: [],
}
case ADD_SETS:
const index= state.favoritedExercises.findIndex(fav => fav.id === action.payload.id);
let newFavorites = [...state.favoritedExercises];
newFavorites[index].sets + 1;
return {
...state,
favoritedExercises: newFavorites
}
Solution 1:[1]
for anyone else who might have this missunderstandiing..
case ADD_SETS:
const index= state.favoritedExercises.findIndex(fav => fav.id === action.payload.id);
let newFavorites = [...state.favoritedExercises];
newFavorites[index].sets = newFavorites[index].sets + 1;
console.log(newFavorites[index])
return {
...state,
favoritedExercises: newFavorites
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ryan Hartley |
