В настоящее время у меня есть действие Redux, которое выглядит следующим образом:
{
type: 'user/updateRequested',
payload: {name: 'Foo', avatar: File}
}
этот файл не сериализуем, поэтому мне интересно, есть ли лучший способ.
Когда отправляется действие происходят три вещи:
- Редуктор обновляет
state.user.name
, но игнорирует avatar
- Saga загружает файл в API
- Saga использует FileReader для получения URL-адреса данных и отправки другого действия (которое приводит к обновлению
state.user.avatar
)
Я никогда не храню объект File в хранилище, он только в действиях.
Есть ли лучший способ или это вариант использования, где допустимы несериализуемые действия?