这是我的代码 https://codesandbox.io/s/lYMwLM591
import { UPDATED_STORIES } from './actions';
import axios from 'axios';
export default function getTopStories(){
return (dispatch) => {
axios.get('data.json').then( res => {
console.log(res ,"respone");
dispatch(getTopStoriesAysnc(res))
})
}
};
function getTopStoriesAysnc(response){
return {
type: UPDATED_STORIES,
payload: response
};
}
答案 0 :(得分:1)
你的反应应用很好。你无法看到数据的原因是因为CORS问题。如果您检查控制台,您会注意到 '访问控制允许来源'标头丢失了。由于您无法访问服务器代码,因此无法对此进行任何操作。
但是,您实际上不必使用axios。由于数据位于同一个项目中,因此您只需导入它们即可。所以你的get_updated_stories将如下所示:
import { UPDATED_STORIES } from './actions';
import data from './data.json'
export default function getTopStories(){
return (dispatch) => {
console.log(data ,"respone");
dispatch(getTopStoriesAysnc(data))
}
};
function getTopStoriesAysnc(response){
return {
type: UPDATED_STORIES,
payload: response
};
}
答案 1 :(得分:0)
你的问题似乎来自这里:
function mapStateToProps(state) {
return {
index :state.counter
}
}
state.counter
不存在,但state.item
确实存在。你需要写:
function mapStateToProps(state) {
return {
index :state.item
}
}