import firebase from "firebase";
import "firebase/firestore";
import moment from "moment";
import firebaseApp from "../firestoreConfig";
import { config } from "../../App";
import FETCH_PRICES from "./types";
const firestore = firebaseApp.firestore();
export const getPrices = () => {
return dispatch => {
let prices;
firestore
.collection("settings-daily-market")
.orderBy("MarketDate", "desc")
.limit(1)
.get()
.then(snapshot => {
snapshot.forEach(doc => {
const Pd = doc.data().PdMarket;
const Pt = doc.data().PtMarket;
const Rh = doc.data().RhMarket;
prices = { Pd, Pt, Rh };
console.log(prices);
});
dispatch({ type: FETCH_PRICES, payload: prices });
console.log("dispatched");
});
};
};
运行价格的console.log但第二个console.log('dispatched')从不这样做,并且没有“FETCH_PRICES”类型的reducer代码运行。相反,我得到一个错误:
“YellowBox.js:82可能未处理的承诺拒绝(id:0):错误:操作可能没有未定义的”类型“属性。你拼错了一个常量吗?”
为什么dispatch()不起作用?
我想你想要import { FETCH_PRICES } from "./types";
因为我无法想象你导出FETCH_PRICES是默认的。