当我dispatch的时候,马上打印需要改变的值,发现并没有立刻改变;代码如下,我查了一些文章但是依旧没有得到想要的答案,希望有大神能给我简单讲解下这是为什么?redux修改不应该是同步执行的吗?// component.jsimport { 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 ( <Button onClick={this.addnum} type='primary'>click</Button> <div>{this.props.state.fileMange.addnum}</div> ) }}export default connect(state => ({ state }), action)(Test);// test.jsexport 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; }};
添加回答
举报
0/150
提交
取消