我的减速器具有以下initialState:
export function videos(
state = { videos: [], search: { videos: [], term: "" } },
action
)...
在我的化简器中,我寻找持久状态并用一些持久道具创建新的videos
数组:
case "VIDEOS_SUCCESS": {
const { data } = action;
let videos = [];
let questions = [];
data.map(item => {
let persistedVideo =
state.videos.find(video => video.id === item.id) || null;
let bookMarked = persistedVideo ? persistedVideo.bookMarked : false;
let completed = persistedVideo ? persistedVideo.completed : false;
....
videos.push(newVideo);
});
return { ...state, videos: videos };
}
当我返回新状态时,videos
数组嵌套在video
属性中。
{videos:{
search: {videos: Array(0), term: ""},
videos: (10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
}}
如何使我的状态看起来像这样:
{
videos: (10) [],
search: {videos: [], term: ''}
}
答案 0 :(得分:0)
商店总是根据它们的化简器对状态进行分区,因此,如果您调用store.getState(),您应该期望返回的状态为
{
reducer1: { /* state of reducer1 */ },
reducer2: { /* state of reducer2 */ },
...
}