Я работаю над проектом React, и у меня есть раздел с «Сохраненными играми».
Раздел «Сохраненные игры» отображает состояние «Сохраненные игры».
ЭтоВот как это выглядит:
let SavedGamesList = <h1>Loading...</h1>;
if (this.props.savedGamesState.length < 1) {
SavedGamesList = <StyledNotSavedGames>Such empty</StyledNotSavedGames>;
}
if (this.props.savedGamesState.length >= 1) {
SavedGamesList = this.props.savedGamesState.map(game => (
<GameCard
key={game.game}
title={game.title}
hoursViewed={game.hours_viewed}
saved={true}
/>
));
}
Когда я пытаюсь удалить игру, она удаляет случайную, а не ту, на которую я нажал, или несколько игр одновременно.
Это то, что«GameCard» (там, где кнопка удаления) выглядит следующим образом:
deleteGame = () => {
let gameName = this.props.title;
this.props.deleteGame(gameName); //This is the Redux dispatch
console.log(this.props.savedGamesState);
};
И вот как я пытаюсь изменить состояние в Редукторе:
case actionTypes.DELETE_GAME:
let updatedGames = [
...state.savedGames.splice(
state.savedGames.findIndex(e => e.title === action.payload),
1
)
];
return {
...state,
savedGames: updatedGames
};
Редактировать: Отправка в реквизит:
deleteGame: (res) => dispatch({type: actionType.DELETE_GAME, payload: res})
Я также заметил, что последняя игра в списке не может быть удалена, состояние обновлено, но компонент не отображается повторно, поэтому он не исчезает.
Что-тов редукторе наверное не так, как вы думаете?