2017-06-13 6 views
0

Axiosのリクエストが行われている間にローディングスピナーを表示しようとしていますので、リクエストからコールバックが必要だと思います。データが取得されたときに、うまくいけば、調光器(スピナー)がそのseStateコールのオフに基づいて離れて行きますAxiosのコールバックがGETで反応しました

componentDidMount() { 
    this.props.fetchCloudProperties(() => { 
    this.setState({ dim : false }); 
    }); 
} 

:私はそうのようなcomponentDidMount()でGET要求を呼び出します。私はポストとコールバックを持っているが、取得して1つを行ったことがない。データのための私のgetアクションがされています。今のコンソールは、私はそれが何を意味するのかわからない「アクションは、プレーンオブジェクトでなければならない」文句を言っている

export function fetchCloudProperties(callback) { 
    const VARIABLE_URL = '/cloud/properties'; 
    const request  = axios.get(`${ROOT_URL}${VARIABLE_URL}`) 
    .then(request => { 
     return ({ 
     type : FETCH_CPS, 
     payload : request 
     }); 
    }).catch((error) => { 
     console.log(error); 
    }) 
} 

、だけでなく、私はそれが未処理の拒絶」について不満を見てきましたそれほど確実ではありません。

EDIT:は、私は、コールバックを使用していますcreateCloudProperty方法を持っているし、それが正常に動作します:から呼び出される

export function createCloudProperty(values, callback) { 
    const VARIABLE_URL = '/cloud/property'; 
    const request  = axios.post(`${ROOT_URL}${VARIABLE_URL}`, values) 
    .then(() => callback()); 

    return ({ 
    type : CREATE_CP, 
    payload : request 
    }); 
} 

onSubmit(values) { 
    this.props.createCloudProperty(values,() => { 
    this.props.history.push('/cloudproperties'); 
    }); 
} 
+0

還元剤、フラックスなどを使用していますか? 'fetchCloudProperties'はアクション作成者ですか?非同期アクションを実行している場合、アクション作成者から約束を返すには、 'redux-thunk'のようなものを使う必要があります。 –

+0

[アクションはReact/Reduxのオブジェクトである必要がありますか?](https://stackoverflow.com/questions/39693161/actions-must-be-plain-objects-in-react-redux) –

+0

@AndyRay 'redux-promise'を使って、' fetchCloudProperties() 'は私の理解ができる限りアクション作成者です。 – erp

答えて

0

あなたがリクエスト/レスポンスを渡すことはできませんそれは普通の物体ではないからです。応答データを使用する必要があります。

export function fetchCloudProperties(callback) { 
    const VARIABLE_URL = '/cloud/properties'; 
    const request  = axios.get(`${ROOT_URL}${VARIABLE_URL}`) 
    .then(response => { 
     return ({ 
     type : FETCH_CPS, 
     payload : response.data 
     }); 
    }).catch((error) => { 
     console.log(error); 
    }) 
} 
+0

以前と同じエラーが表示されます。私はどのように私はポストのためにそれをやったと私の質問を更新し、うまく動作します。 – erp

関連する問題