2017-07-10 77 views
0

我有一個操作,返回包含過濾對象的有效內容。我希望將這個對象作爲新狀態或我要向用戶顯示的狀態返回。如何在此Redux Reducer中正確更新狀態

我說的沒有顯示在下面的代碼下的具體情況:

case Paginate_BLOG 
    return {...state, action.payload.data}; 

我的博客減速機的完整代碼:

import { FETCH_POSTS, FETCH_POST, DELETE_POST, PAGINATE_BLOG} from '../actions'; 
import _ from 'lodash'; 

export default function(state = {}, action) { 
    switch(action.type) { 
    case FETCH_POST: 
     const post = action.payload.data; 
     return { ...state, [post.id]: post}; 
    case FETCH_POSTS: 
     return _.mapKeys(action.payload.data, 'id'); 
    case PAGINATE_BLOG: 
     return {...state, action.payload.data}; 
    case DELETE_POST: 
     return _.omit(state, action.payload); 
    default: 
     return state; 
    } 
} 

所以基本上我想實現分頁中一個使用redux更新狀態的博客,作爲我獲取到的原始博客集的子集。

回答

0

認爲你的意思是{...state, data: action.payload.data}

我甚至不認爲這是有效的 - 但是,如果是的話,我想你與action.payload.data

值返回一個新狀態的關鍵 action.payload.data
{ 
    ..., 
    data: // previous data, 
    "action.payload.data": ...action.payload.data 
} 
相關問題