javascript - Redux如何在一个action里如何调用另一个action?
本文介绍了javascript - Redux如何在一个action里如何调用另一个action?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
export function get_user(data) {
return dispatch => {
console.log('获取用户数据');
$.ajax({
url:'/api/users',
type:'GET',
data:data
}).done(function(data){
// console.log(data);
dispatch({
type: GET_MEMBER,
member:data.data.rows,
count:data.data.count
});
});
}
}
export function add_user(user) {
return dispatch =>{
$.ajax({
url:'/api/users',
type:'POST',
data:user
}).done(function(data){
// console.log(data);
if (data.status !== -1){
dispatch({
type: ADD_USER_SUCCESS,
info:data.info
});
dispatch({ type : HIDE_ADD_MODAL});
}else{
dispatch({
type: ADD_USER_FAIL,
info:data.info
})
}
});
}
}
我想在调用add_user完成后调用get_user获取最新的数据,该如何在add_user方法里面调用get_user
解决方案
https://github.com/hojas/rblog
我是这样写的:
import { setCurrentCate } from './category';
// 获取文章 action
const getArticleSuccess = article => ({
type: 'GET_ARTICLE_SUCCESS',
payload: article,
});
// get 文章
export const getArticle = id => dispatch => {
return fetch(`/api/post/${id}`, {
credentials: 'same-origin',
})
.then(data => data.json())
.then(json => {
dispatch(setCurrentCate(json.category.url));
dispatch(getArticleSuccess(json));
});
};
// 发表新文章
export const publishArticle = post => dispatch => {
return fetch('/api/post/new', {
method: 'POST',
credentials: 'same-origin',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(post),
})
.then(data => data.json())
.then(json => dispatch(getArticleSuccess(json.post)));
}
这篇关于javascript - Redux如何在一个action里如何调用另一个action?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文