我在我的react-redux应用程序中设置了动作和缩减器。我需要一个函数来更新状态中的属性并将对象添加到其列表中,如果可能的话使用扩展语法。这是我到目前为止有:如何将对象属性添加到状态中的另一个属性?
const defaultState = {
genres: {}
}
export default function(state = defaultState, action) {
switch(action.type) {
case 'ADD_GENRE':
return {
...state,
genres[action.name]: action.list //new code here
}
default:
return state;
}
}
我需要的类型物业使用它的属性名像这样要像一个数组动态访问:
const getMusicFromGenre = (genre) => {
return state.genres[genre];
}
减速机应该接受以下动作,然后修改相应的状态:
// action
{
type: 'ADD_GENRE,
name: 'Rock',
list: ['Bohemian Rhapsody', 'Stairway to Heaven', 'Hotel California']
}
// old state
{
genres: {
"Pop": ['Billie Jean', 'Uptown Funk, 'Hey Jude']
}
}
// new state
{
genres: {
"Pop": ['Billie Jean', 'Uptown Funk, 'Hey Jude'],
"Rock": ['Bohemian Rhapsody', 'Stairway to Heaven', 'Hotel California']
}
}
如果有必要,我愿意使用不同的方法。
我试图我自己找到解决方案,但问题太难以谷歌。感谢您的链接,明天我们将通过一杯明天的咖啡读取这些信息 – Brian