我想从data.json文件中获取我的数据。该文件位于本地。这是我的文件结构 测试
-data
--data.json
-testActions.js
-testActionTypes.js
-testReducer.js
我在testActions.js
中拥有
import axios from 'axios';
import * as actionTypes from './testActionTypes';
import jsonData from './data/data';
const fetchQuestionsStart = () => ({
type: actionTypes.FETCH_QUESTIONS_START,
});
const fetchQuestionsSucces = (data) => ({
type: actionTypes.FETCH_QUESTIONS_SUCCESS,
data,
});
const fetchQuestionsError = (error) => ({
type: actionTypes.FETCH_QUESTIONS_FAIL,
error,
});
const fetchQuestions = () => (dispatch) => {
dispatch(fetchQuestionsStart());
return axios.get(jsonData)
.then((res) => dispatch(fetchQuestionsSucces(res.data)))
.catch((err) => dispatch(fetchQuestionsError(err.response.data)));
};
在控制台中,我有这个:http://localhost:3000/[object%20Object] 500 (Internal Server Error)
如何通过Redux获取数据?
答案 0 :(得分:0)
由于您正在使用axios进行GET调用,因此必须提供json文件的URL 例如。
const fetchQuestions = () => (dispatch) => {
dispatch(fetchQuestionsStart());
return axios.get('data/data.json')
.then((res) => dispatch(fetchQuestionsSucces(res.data)))
.catch((err) => dispatch(fetchQuestionsError(err.response.data)));
};
如果您是在本地运行的,并且端口为3000,则该网址将在内部解析为http://localost:3000/data/data.json
axios("http://localost:3000/data/data.json")