2017-07-21 12 views
1

reduxを使用して反応でデータを取得する方法を教えてください。 ここreduxを使用して反応でデータを取得する方法は?

は私のコードは、あなたのアプリが細かい反応 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

いつデータをロードしますか? –

+0

上のコンポーネントロード私はすでに自分のコードを書いてくださいhttps://codesandbox.io/s/lYMwLM591 – user5711656

+0

redux-thunkミドルウェアはありますか? – Win

答えて

3

です。あなたがデータを見ることができなかった理由は、CORSの問題のためです。コンソールを確認すると、 'Access-Control-Allow-Origin'ヘッダーが見つからないことがわかります。サーバーコードへのアクセス権がないので、これについては何もできません。

しかし、これに実際にアキシャルを使用する必要はありません。データは同じプロジェクト内にあるので、インポートすることができます。だからあなたの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 
    }; 
} 

は、それがここに住んでください:https://codesandbox.io/s/pYW4pkRYX

+0

あなたのコードを共有してください..なぜHelloコンポーネントでこれを呼び出さないでしょうか? – user5711656

+0

help..thanks help – user5711656

0

あなたの問題はここから来ているようだ:

function mapStateToProps(state) { 
    return { 
     index :state.counter 
    } 
} 

state.counterは存在しませんが、state.itemはありません。

function mapStateToProps(state) { 
    return { 
     index :state.item 
    } 
} 
+0

not working https://codesandbox.io/s/lYMwLM591 – user5711656

+0

イメージとテキストを取得する必要がある場合t列車、それは私のために働く。 –

関連する問題