react中dispatch_react-redux中dispatch是异步?

当我dispatch的时候,马上打印需要改变的值,发现并没有立刻改变;

代码如下,我查了一些文章但是依旧没有得到想要的答案,希望有大神能给我简单讲解下这是为什么?redux修改不应该是同步执行的吗?

// component.js

import { connect } from 'react-redux';

import action from '../actions/test.js';

class Test extends Component {

addnum = () => {

this.props.setaddnum(1);

console.log(this.props.state.fileMange.addnum); // 0

// 我很疑惑我点击之后不应该打印出来的是1吗?实际上这个addnum是改变了,但是没有立刻改变

};

render () {

return (

click

{this.props.state.fileMange.addnum}

)

}

}

export default connect(state => ({ state }), action)(Test);

// test.js

export default {

setaddnum (num) {

return {

type: 'SET_ADD_NUM',

addnum: num

};

}

}

// reducers

// 初始化state数据

const initialState = {

addnum: 0

};

export default (state = initialState, action) => {

switch (action.type) {

case 'SET_ADD_NUM':

return Object.assign({}, state, { addnum: action.addnum });

default:

return state;

}

};

你可能感兴趣的:(react中dispatch)