私は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']
}
}
私は必要に応じて別の方法を使用しています。
自分自身で解決策を見つけることができましたが、問題はGoogleにとっては難しかったです。リンクをありがとう、確かに明日のコーヒーの大きなカップでそれを読むつもり – Brian