2016-11-13 2 views
0

Мне интересно, как правильно вернуть состояние с выбранным массивом с помощью оператора spread.Как правильно разрушить?

Так вот мой редуктор:

function themes(state = [], actions){ 
    switch(actions.type){ 
    case FETCH_THEMES_SUCCESSFULLY: 
     const { themes } = actions.theme; 
     return { 
     ...state, 
     ...themes 
     } 
    default : 
     return state; 
    } 
}; 

действия содержит array называется themes. Но когда themes забирается мой props выглядит следующим образом:

{ themes: { themes: [...]} } вместо { themes: [] }

Что я делаю неправильно?

ответ

0

actions.theme уже является вашим […]; вам больше не нужно его разрушать. Замените const { themes } = actions.theme на const themes = actions.theme, чтобы получить форму, которую вы ищете.

В качестве альтернативы, const { themes } = actions; также будет работать. Но не обе деструктурирующие и доступ к actions.theme.

0

Попробуйте это. Деформировать themes от actions и вернуть его с помощью state

function themes(state = [], actions){ 
    switch(actions.type){ 
    case FETCH_THEMES_SUCCESSFULLY: 
     const { themes } = actions; 
     return { 
     ...state, 
     themes 
     } 
    default : 
     return state; 
    } 
}; 
Смежные вопросы