當我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
提交
取消