#firebase #react-native #redux #react-redux
#firebase #react-native #redux #react-redux
Вопрос:
Строка сообщения об ошибке на виртуальной машине ios: действия должны быть простыми объектами. используйте пользовательское промежуточное программное обеспечение для асинхронных действий. Я заметил, что возникла проблема с upLoadImageToFirebase (). Я столкнулся с этой проблемой при использовании redux и firebase. Кто-нибудь может мне помочь? Большое спасибо!
"react-redux": "^6.0.1",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0"
"react-native": "0.58.006",
upLoadImageToFirebase = (item) => {
return storage.ref('imgProduct').child(`${item.key}.jpg`)
.put(item.blob, { contentType: 'application/octet-stream' })
}
export const addProduct = (product) => {
return (dispatch) => {
let { blobs } = product;
let urls = [];
dispatch(startAdd());
blobs.forEach((item) => {
dispatch(upLoadImageToFirebase(item)).then((snapshoot) => {
urls = urls.concat(snapshoot.ref.getDownloadURL());
}).catch(err => {
console.log(err)
})
})
}
}
Комментарии:
1. Можете ли вы добавить настройки вашего хранилища? и вторая отправка также должна отправлять что-то вроде
{ type: 'MY_ACTION_TYPE', payload: someData }
2. Пожалуйста, опубликуйте свой
src/index.js
файл и вашactions/index.js
файл, если только вы не говорите мне, что у вас есть выше, это ваш создатель действия, это неясно.
Ответ №1:
Я вижу, что вы используете redux-thunk. Проверьте, добавлено ли это также в промежуточное программное обеспечение.
Комментарии:
1. Я добавил applyMiddleware (thunk) в хранилище в моем проекте.