0

投稿からペイロードに返される応答を取得したい。アクションに返された結果を送信するにはどうすればよいですか?

import axios from 'axios';
import * as types from './actionTypes';

const ROOT_URL = `http://localhost:8000`;

export function addPost(title){
    const url = `${ROOT_URL}/api/v1/post/`;
    var request;

    axios.post(url, {
        title: title,
    }).then(function (response) {
        request = response;
    })
    .catch(function (response) {
        request = response;
    });

    console.log(request);

    return {
        type:types.ADD_POST,
        payload:request
    }
}
4

1 に答える 1

1

1 つの方法は、適切なアクションを呼び出す別のサービスを用意することです。

何かのようなもの

export function addPost(title){
    return {
        type:types.ADD_POST,
        payload:request
    }
}

export function addPostService(title){
    const url = `${ROOT_URL}/api/v1/post/`;
    var request;

    axios.post(url, {
        title: title,
    }).then(function (response) {
        dispatch(addPost(response.body))
    })
    .catch(function (response) {
        request = response;
    });
}

より高度なソリューションが必要な場合は、redux-thunk をチェックしてください: https://github.com/gaearon/redux-thunk

于 2016-03-23T20:55:06.677 に答える