どうすればいいですか?私は、この減速機を持っているネストされたオブジェクトの配列から要素を削除しますか?
{
...,
playlist : [
...,
{
id : 1,
title : "fancy-playlist-title",
songs : [
{ id : 1 },
{ id : 2 },
... and so on
]
}
]
}
:私の店は、このようなものです
if(action.type === "REMOVE_FROM_PLAYLIST"){
return {
...state,
playlist : [
...state.playlist,
...state.playlist[action.index].songs.splice(0, action.indexSongs),
...state.playlist[action.index].songs.splice(action.indexSongs+1)
]
}
}
UPDATE
プレイリストの配列は、このようなプレイリストの多くのオブジェクトが含まれているため、各プレイリストには、無限の歌を持つことができます
playlist : [
{
id : 1,
title : "title",
songs : []
},{
id : 2,
title : "playlist 2",
songs : []
},
{... and so on}
]
このようなのは
export default function(state = {}, action) {
if(action.type === "REMOVE_FROM_PLAYLIST"){
//action.index : current index of playlist
//action.indexSongs : current index of song that I want to delete from current playlist
let playlist = state.playlist[action.index].slice(0, action.index).concat(state.playlist[action.index].slice(action.index + 1));
return {
...state,
playlist : [
...state.playlist,
...playlist.slice(0, action.indexSongs),
...playlist.slice(action.indexSongs + 1)
]
}
}
return state;
}
私の質問はどのように1つのプレイリストの1曲を削除できますか?現在のプレイリストのインデックスと、現在のプレイリストの曲のインデックスを送信しています。
を使用することができます - あなたは、より簡単に操作することができます - immutable.jsを使用することを検討してください。この場合は – sodik