总体思路是,有人单击按钮,操作从服务器获取数据并发送它。状态正在更新,页面上的内容正在发生变化。该动作看起来完全像这样:
export function getPosts(page){
return function(dispatch){
axios.get(`${ROOT_URL}/home?page=${page}`)
.then(response => {
dispatch ({
type: FETCH_POSTS,
payload: response.data
})
})
.catch((error) => {
console.log(error)
});
}
}
Run Code Online (Sandbox Code Playgroud)
减速器非常简单:
export default function(state={}, action){
switch(action.type){
case FETCH_POSTS:
return {posts: action.payload, ...state};
}
return state;
}
Run Code Online (Sandbox Code Playgroud)
主页看起来就像这样:
import React, { Component } from 'react';
import * as actions from '../actions';
import RequireAuth from './auth/require_auth';
import { connect } from 'react-redux';
import { compose } from 'redux';
class Home extends Component {
constructor(props) {
super(props);
this.state …Run Code Online (Sandbox Code Playgroud)