道招

项目Vue转成React hooks可能存在的问题--急需类似setState回调

如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!

项目Vue转成React hooks可能存在的问题--急需类似setState回调

假设在Vue中有如下三个方法,并且初始时this.a = ‘a’; this.b = ‘b’;

      funA() {
        this.a = '1221';
        this.funB();
        return this.funC();
      },
      funB() {
        this.a = this.a + '--';
      },
      funC() {
        return this.a + this.b;
      }

不要纠结于上面具体的写法,只是作为demo演示现有项目中很可能有类似这样的写法。

上面在调用funA后在Vue里面可能会得到1221-—b,那么在React中,应该是会返回ab吧,因为setState的值是异步更新的,在class组件写法里面我们可以用回调来保证自己拿到的state的值是设置为更新后的结果,在hooks中呢,并没有此回调。 问题来了,要将上面的vue代码用React Hooks怎么实现,我们依然期望是像在vue中一样funA() 稳定的返回 1221-—b

迁移技术栈的过程中,将vue的方法一对一改写成react方法肯定是业务风险最小的做法,一般情况下这样迁移没啥难度,还不会遗漏原有功能,但是我举例的这种场景vue中肯定有,需要怎么改成react hooks的写法实现类似的功能呢?

更新时间:
上一篇:wangEditor输入中文后直接粘贴bug来了解compositionstart下一篇:Vue同一路由跳转页面不刷新解决方案及注意事项之二

相关文章

邮箱收件人组件成长历程(二)(React hooks升级版)

记得自己之前写过一篇 《邮箱收件人组件(vue版)成长历程(一)》 记得当时里面写到了自己使用的是可编辑div来进行输入的,同时提到 当时出于挑战自己和青铜的倔强,想试着换个方案,完全使用可编辑di 阅读更多…

React router用hooks读取routeName、根据routeName跳转

在迁移Vue至React的过程中遇到了一些路由相关的问题,在Vue项目中经常会使用routeName,毕竟使用path太长了,也记不住,我自己看了看React router也没有发现routeNam 阅读更多…

vue发送请求是应该在mounted还是在created生命周期

一个经常会被问到的问题: 为什么不在 created 里去发ajax? created 可是比 mounted 更早调用啊,更早调用意味着更早返回结果,那样性能不是更高? 首先,一 阅读更多…

支持取消单选组件vue版

原生的单选就是 <input type="radio"/> ,正常情况在 name 相同的单选之间只能选一个,如果只有一个单选框的情况下,一经选中是无法自己取消的,和 阅读更多…

Vue在chrome44偶现点击子元素事件无法冒泡

公司的一个项目大致是这样的:一个左侧列表,点击左侧列表的文章标题,右侧展开该文章对应的内容的。 现在的问题出现在极少部分客户有时左侧的标题,无法打开对应的右侧的内容,给人的改进就是‘卡’、点不动、点 阅读更多…

用在线IDE写vue代码

上周末无意中发现了一个新的在线IDE,网址glitch.com,个人感觉很不错,于是顺便关注了下其它的在线IDE,比如codesandbox.io也不错,没有细看,可能自己已经先入为主的喜欢上glit 阅读更多…

关注道招网公众帐号
友情链接
消息推送
道招网关注互联网,分享IT资讯,前沿科技、编程技术,是否允许文章更新后推送通知消息。
允许
不用了