不调用Redux'dispatch'函数

问题描述 投票:0回答:1
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()不起作用?

javascript reactjs redux redux-thunk
1个回答
0
投票

我想你想要import { FETCH_PRICES } from "./types";因为我无法想象你导出FETCH_PRICES是默认的。

© www.soinside.com 2019 - 2024. All rights reserved.