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');
});
}
還元剤、フラックスなどを使用していますか? 'fetchCloudProperties'はアクション作成者ですか?非同期アクションを実行している場合、アクション作成者から約束を返すには、 'redux-thunk'のようなものを使う必要があります。 –
[アクションはReact/Reduxのオブジェクトである必要がありますか?](https://stackoverflow.com/questions/39693161/actions-must-be-plain-objects-in-react-redux) –
@AndyRay 'redux-promise'を使って、' fetchCloudProperties() 'は私の理解ができる限りアクション作成者です。 – erp