Реагируйте на Native с помощью redux: можем ли мы иметь начальную полезную нагрузку для действий? - PullRequest
0 голосов
/ 05 июня 2018

Разрешено ли нам при создании действий иметь полезную нагрузку по умолчанию?

export const fetchApi = (payload = { propA: 'asdf', propB: new Date() ... etc }) => {
   return {
     type: 'FETCH_DATA',
     payload: payload
   };
}

Примечание. Может ли она использоваться в качестве сигнатуры этой полезной нагрузки?Я имею в виду полезную нагрузку, которая должна иметь эти данные.

1 Ответ

0 голосов
/ 05 июня 2018

Вы можете определить полезную нагрузку по умолчанию в вашем редукторе, если хотите.Например, в вашем Action.js:

export const fetchApi = (payload) => {
   return {
     type: 'FETCH_DATA',
     payload: payload
   };
}

И в вашем Reducer.js:

...
case 'FETCH_DATA':
    let defaultPayload = { propA: 'asdf', propB: new Date() ... etc }

return {
    ...state,
    fetchDataPayload: action.payload || defaultPayload
};

Или, если вы хотите иметь сочетание между initialData и вашей реальной полезной нагрузкой:

...
case 'FETCH_DATA':
    let defaultPayload = { propA: 'asdf', propB: new Date() ... etc }

return {
    ...state,
    fetchDataPayload: {...defaultPayload, ...action.payload}
};

В этом случае, если в action.payload найдены общие свойства, он переопределит эти определения в defaultPayload.

Надеюсь, это поможет!

...