账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react-redux中dispatch是异步?
    25
    0

    当我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 (
              <Button onClick={this.addnum} type='primary'>click</Button>
                <div>{this.props.state.fileMange.addnum}</div>
            )
        }
    }
    
    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;
        }
    };
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    更多回答
    扫一扫访问手机版

    回答动态

    师傅被妖怪抓走了:发布了悬赏问题火爆全网的“元宇宙”到底是什么?预计能赚取 1积分收益
    酒后略带风情:发布了悬赏问题Android内存中Graphics与Code占用过高预计能赚取 10积分收益
    扛起拖把扫天下:发布了悬赏问题typescript如何导出接口配置?求解,谢谢!预计能赚取 10积分收益
    发布了悬赏问题Vue 如何改变返回页面的路径?如让B页面只能返回到A页面.预计能赚取 11积分收益
    发布了悬赏问题vue H5移动端;底部bottom固定定位,安卓弹起键盘导致页面变形如何解决?预计能赚取 10积分收益
    发布了悬赏问题请问为什么tomcat8.5 GET请求中文正常,POST请求还需要设置UTF-8.预计能赚取 10积分收益
    发布了悬赏问题vue2.5+ts创建以及引入jq的方法预计能赚取 11积分收益
    情场浪女:发布了悬赏问题import ggplot时报错module 'pandas' has no attribute 'tslib'预计能赚取 10积分收益
    见心书画许老师18753375161:发布了悬赏问题echarts3 legend禁止点击事件,允许悬浮事件预计能赚取 11积分收益
    aa_92cb0bd09f:发布了悬赏问题codewar上的一个问题预计能赚取 11积分收益