项目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的写法实现类似的功能呢?
- 分类:
- Web前端
相关文章
支持取消单选组件vue版
原生的单选就是 <input type="radio"/> ,正常情况在 name 相同的单选之间只能选一个,如果只有一个单选框的情况下,一经选中是无法自己取消的,和 阅读更多…
vue多语言的解决方案不只是 vue-i18n,前端+后端完整解决方案
网上搜很多vue多语言的,一般都是介绍vue-i18n怎么使用,当然这是不错的,但是我们如果只是讲这个的话,只是解决了静态文字的多语言化。 这一部分我们也简单讲一下 npm install 阅读更多…
邮箱收件人组件成长历程(二)(React hooks升级版)
记得自己之前写过一篇 《邮箱收件人组件(vue版)成长历程(一)》 记得当时里面写到了自己使用的是可编辑div来进行输入的,同时提到 当时出于挑战自己和青铜的倔强,想试着换个方案,完全使用可编辑di 阅读更多…
使用next.js服务端渲染经历
上周末的时候打算把自己的网站从vue的ssr转换为react的ssr,鉴于之前在vue中是用的原生的ssr,这次想在react中试试框架,所以首选的就是next.js。 第一次用next.js,根据 阅读更多…
react router页面跳转二次确认弹框及样式、业务逻辑自定义
我们在编辑页面时如果需要跳走通常会需要给用户提示,react router本身已经给了我们这样的功能,我们先看看怎么使用。 初见二次确认弹框 // App.jsx const App = 阅读更多…
Vue和React hooks实现Select批量选择、选中条数、全选、反选实现对比
批量选择、全选、反选这些功能使用频率还是很高的,下面直接看看Vue和React分别怎么实现吧。 Vue 在使用Vue的时候是很容易实现的,我们以下列数据格式为例: const data 阅读更多…
