【发布时间】:2021-10-25 08:25:31
【问题描述】:
我已经尝试了很多次来解决这个错误,但我做不到。 有了它,我不知道下一步该做什么。我已经尝试了各种方法来获得解决方案,但没有成功。
import axios from "axios"
import {PRODUCT_DETAILS_FAIL,PRODUCT_DETAILS_REQUEST,PRODUCT_DETAILS_SUCCESS} from "../constants/productConstants";
import {PRODUCT_LIST_FAIL,PRODUCT_LIST_REQUEST,PRODUCT_LIST_SUCCESS} from "../reducers/productReducers"
const listProducts = () => async (dispatch) =>{
try{
dispatch({type:PRODUCT_LIST_REQUEST});
const {data}= await axios.get("/api/products");
dispatch({type:PRODUCT_LIST_SUCCESS,payload:data});
}
catch(error){
dispatch({type:PRODUCT_LIST_FAIL,payload:error.message});
}
}
const detailsProduct=(productId)=>async(dispatch)=>{
try {
dispatch({type:PRODUCT_DETAILS_REQUEST,payload:productId});
const{data} =await axios.get("/api/products/"+productId);
dispatch({type:PRODUCT_DETAILS_SUCCESS,payload:data});
} catch (error) {
dispatch({type:PRODUCT_DETAILS_FAIL,payload:error.message});
}
}
export default{listProducts,detailsProduct};
产品减速器:
import { PRODUCT_LIST_FAIL, PRODUCT_LIST_REQUEST, PRODUCT_LIST_SUCCESS } from "../constants/productConstants";
function productListReducer(state= {products:[]},action){
switch(action.type){
case PRODUCT_LIST_REQUEST:
return{loading:true};
case PRODUCT_LIST_SUCCESS:
return{loading:false, products:action.payload};
case PRODUCT_LIST_FAIL:
return{loading:false,error:action.payload};
default:
return state;
}
}
export {productListReducer}
【问题讨论】:
-
您能添加您的 productReducers 文件的代码吗?看起来您尚未从该文件中导出该常量。
-
我加了先生
-
是否有 PRODUCT_LIST_FAIL、PRODUCT_LIST_REQUEST、PRODUCT_LIST_SUCCESS 的两种变体?因为在主要组件中,您是从 productReducers 导入的,而在 productReducer 中,您是从 productConstants 导入的。
-
是的,先生。我正在使用它的两种变体
-
有什么解决办法?
标签: javascript reactjs react-native react-redux