首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

没有DOM操作日子里,是怎么熬过来

俗话说,js里面一切皆对象,那么vue里面,则是一切皆组件,能用组件实现,终将被组件实现。...说到组件项目中,你可能会看到公司前辈写组件代码,都是以 .vue 为后缀文件,打开后你会发现它整体结构分三层,分别定义了三个 tag标签,template,script,style。...实战演练过后,Vue给我感觉就两个字:省心。所有的操作关注点都在data上面。...开发时候,写好data 剩下事情就是 通过异步请求来交互data,UI层绑定事件改变data,组件间传递data。 后记 在这个MVVM横行时代,已经渐渐忘却了jQuery存在。...本系列文章还没有结束,下篇,也可能是终结篇,即将来袭!

1.6K110

没有DOM操作日子里,是怎么熬过来(上)

前言 动笔写这篇文章时候,刚刚从项目中删除了最后一行JQuery代码。至于我为何要这么做,请听闰土娓娓道来。前几年还在想,假如有一天,前端世界里不能再直接操作dom了,该怎么办?...vue.js能在那么多前端框架脱颖而出确实有它独到之处,组件相较于react有很大特色,开发效率相当高,打包时候可以把所有的东西都整合到 js 文件,执行效率也很高。...vue的话是一个能提供动态绑定等等功能一个框架,把你从复杂繁琐dom操作解放出来了,代表是虚拟dom新思路。...其实两者并没有什么功能交集,如果你非要问可不可以用vue来实现jQuery所能实现功能的话,只想说,能,并且更加简洁。...开发体验非常接近 React Native + Redux,思维上可以做到非常好切换。

2.1K120
您找到你想要的搜索结果了吗?
是的
没有找到

没有DOM操作日子里,是怎么熬过来(终结篇)

前言 写终结篇日子里,Vue版本稳定在2.9.1。当我摸清Vue脉络之后,以一个爬坑无数亲历者身份,谈谈MVVM时代里遇到那些事儿。...为什么 HTML 监听事件 你可能注意到这种事件监听方式违背了关注点分离这个长期以来优良传统。...当然,如果你公司里看到有个人对着电脑屏幕上Network傻乐时候,你应该能猜到,他刚刚完成了一次完美的请求,从他猥琐笑容,你能隐隐察觉到,此人正YY进阶全栈路上不可自拔,哈哈~。...组件划分一般分为两部分: 页面区域: header、footer、sidebar…… 功能模块: select、pagination…… vue 虽然为组件style实现了scoped,但这也存在局限...因此推荐使用原生操作,尽量避免三方库引用,也能最大化加深基础知识。 还有一点想分享是,动态模版添加方法。先来看看需求: 服务端返回 '<img src=".."

1K130

C#3.0新增功能09 LINQ 基础06 LINQ 查询操作类型关系

若要有效编写查询,应了解完整查询操作变量类型是如何全部彼此关联。 如果了解这些关系,就能够更容易地理解文档 LINQ 示例和代码示例。...另外,还能了解使用 var 隐式对变量进行类型化时后台操作。 LINQ 查询操作在数据源、查询本身及查询执行是强类型。...为了演示这些类型关系,下面的大多数示例对所有变量使用显式类型。 最后一个示例演示利用使用 var 隐式类型时,如何应用相同原则。...让编译器推断类型信息 虽然需要了解查询操作类型关系,但是也可以选择让编译器执行全部工作。 关键字 var可用于查询操作任何本地变量。 下图与前面讨论第二个示例相似。...但是,编译器为查询操作各个变量提供强类型

95410

必须要会 50 个React 面试题(下)

Redux 使用 “Store” 将程序整个状态存储同一个地方。因此所有组件状态都存储 Store ,并且它们从 Store 本身接收更新。...它根据操作类型确定需要执行哪种更新,然后返回新值。如果不需要完成任务,它会返回原来状态。 43. Store Redux 意义是什么?...Store 是一个 JavaScript 对象,它可以保存程序状态,并提供一些方法来访问状态、调度操作和注册侦听器。应用程序整个状态/对象树保存在单一存储。...所有 Store 都互不影响且是平级 3. 带有分层 reducer 单一 Store 4. 有单一调度器 4. 没有调度概念 5. React 组件订阅 store 5....易于测试 - Redux 代码主要是小巧、纯粹和独立功能。这使代码可测试且独立。 组织 - Redux 准确地说明了代码组织方式,这使得代码团队使用时更加一致和简单。

3.5K21

前端架构之 React 领域驱动设计

功能结构即文件结构,开发人员可以快速定位代码,扫一眼就能知道每个文件代表什么,目录尽可能保持扁平,既没有重复也没有多余名字 当有很多文件时(例如 10 个以上),专用目录型结构定位它们会比扁平结构更容易...“函数式组件修改状态” 那么简单 useState,加上 useReducer (个人不推荐,但是与 useState 返回类型一致) 属于:响应式对象(注意,这里对象是 subject,不是...dispatch 是整个应用开始渲染根源 没错,this.setState 也有同样功能(但是仅仅是组件内) useEffect 整个单项数据流调度指挥者 useEffect 是分形指示器 Rxjs... 被称作 操作函数(operational function),将你某部分变更,衍射到另一处变更 在这个 api ,大量模式匹配得以正常工作 useMemo 整个单项数据流调度控制者 最后,useMemo...不会,React DDD 方案性能比 class 风格组件 + 类 redux 分层要强得多,而且你可以精细化控制组件调度和响应式,下限比 redux 上限还要高,上限几乎可以摸到框架极限 React

1.3K30

React DDD 会是未来趋势吗?

功能结构即文件结构,开发人员可以快速定位代码,扫一眼就能知道每个文件代表什么,目录尽可能保持扁平,既没有重复也没有多余名字 当有很多文件时(例如 10 个以上),专用目录型结构定位它们会比扁平结构更容易...你没有办法把逻辑写在 React 组件之外,注意,是完全没有办法! 好办,逻辑全部写在顶层组件,那不就行了?...dispatch 是整个应用开始渲染根源 没错,this.setState 也有同样功能(但是仅仅是组件内) useEffect 整个单项数据流调度指挥者 useEffect 是分形指示器 Rxjs... 被称作 操作函数(operational function),将你某部分变更,衍射到另一处变更 在这个 api ,大量模式匹配得以正常工作 useMemo 整个单项数据流调度控制者 最后,useMemo...不会,React DDD 方案性能比 class 风格组件 + 类 redux 分层要强得多,而且你可以精细化控制组件调度和响应式,下限比 redux 上限还要高,上限几乎可以摸到框架极限 React

94720

前端架构之 React 领域驱动设计

功能结构即文件结构,开发人员可以快速定位代码,扫一眼就能知道每个文件代表什么,目录尽可能保持扁平,既没有重复也没有多余名字 当有很多文件时(例如 10 个以上),专用目录型结构定位它们会比扁平结构更容易...你没有办法把逻辑写在 React 组件之外,注意,是完全没有办法! 好办,逻辑全部写在顶层组件,那不就行了?...dispatch 是整个应用开始渲染根源 没错,this.setState 也有同样功能(但是仅仅是组件内) useEffect 整个单项数据流调度指挥者 useEffect 是分形指示器 Rxjs... 被称作 操作函数(operational function),将你某部分变更,衍射到另一处变更 在这个 api ,大量模式匹配得以正常工作 useMemo 整个单项数据流调度控制者 最后,useMemo...不会,React DDD 方案性能比 class 风格组件 + 类 redux 分层要强得多,而且你可以精细化控制组件调度和响应式,下限比 redux 上限还要高,上限几乎可以摸到框架极限 React

1.9K21

【19】进大厂必须掌握面试题-50个React面试

条件 state Properties 1.从父组件接收初始值 是 是 2.父组件可以更改值 没有 是 3.组件内部设置默认值 是 是 4.内部组件变化 是 没有 5.设置子组件初始值 是 是 6...React动作必须具有type属性,该属性指示正在执行ACTION类型。必须将它们定义为String常量,您也可以为其添加更多属性。Redux,使用称为“动作创建者”功能来创建动作。...Flux Redux 1.存储包含状态和更改逻辑 1.存储和更改逻辑是分开 2.有多家商店 2.只有一家商店 3.所有商店都断开连接并保持平坦 3.带有分层减速器单店 4.有单身派遣员 4.没有调度概念...Redux优点如下: 结果可预测性– 由于总是有一个真实来源,即商店,因此对于如何将当前状态与操作和应用程序其他部分进行同步没有任何困惑。...易于测试– Redux代码主要是小,纯净和孤立功能。这使代码可测试且独立。 组织– Redux精确地规定了代码组织方式,这使得团队合作时代码更一致,更容易。

11.1K30

有哪些值得学习大型 React 开源项目?

之前也没有很好答案,确实很难找,因为一般企业级应用都是不开源,Github 上大部分都是很简单 DEMO 项目,很难挑选。 今天就给大家梳理了几个觉得还不错 React 开源项目。... repo 包含了示例数据,自动化测试和应用程序都可以开箱即用地运行。...它是一个非常完整 OSS 解决方案。使用 TypeScript + React 编写,并使用 SCSS 编写样式。大多数组件都存在于 components 包。...虽然你不会在这里找到像 TypeScript/Flow 这样花哨东西,但它代码注释很完善,也很清楚地指出了很多编码技巧。另外,它们也逐步将类组件迁移到 Hooks 上。...它自从 2017 年初以来一直积极开发,并于 2018 年底被 GitHub 收购。

3.9K20

你必须知道react redux 陷阱

react redux介绍 React ReduxRedux 官方 React UI 绑定层。它允许您 React 组件Redux 存储读取数据,并将操作分派到存储以更新状态。...接下来,详细说一下,他们发生条件: 陈旧props触发条件: 选择器函数依赖于该组件 props 来提取数据 作为一个动作结果,父组件会重新渲染并传递新道具 但是这个组件选择器函数在这个组件有机会用这些新道具重新渲染之前执行...不了解基础概念,看一看官方链接: Basic Selector Concepts 其中前两个操作是我们经常使用,最后一个没有渲染之前重新执行,恐怕只有回调事件(网络访问,异步事件回调等)才会满足。...陈旧props触发条件: 多个嵌套连接组件第一遍安装,导致子组件在其父组件之前订阅商店 调度一个从存储删除数据操作,例如待办事项 结果,父组件将停止渲染该子组件 但是,因为子项先订阅,所以它订阅会在父项停止呈现之前运行...以上,就是关于react redux 陷阱分享。欢迎交流,提建议。拜拜。

2.4K30

高级前端react面试题总结

对ReactFragment理解,它使用场景是什么?React组件返回元素只能有一个根元素。...可以将浏览器渲染、布局、绘制、资源加载(例如 HTML 解析)、事件响应、脚本执行视作操作系统“进程”,需要通过某些调度策略合理地分配 CPU 资源,从而提高浏览器用户响应速率, 同时兼顾任务执行效率...它和线程并不一样,协程本身是没有并发或者并行能力(需要配合线程),它只是一种控制流程让出机制。让出 CPU 执行权,让 CPU 能在这段时间执行其他操作。...所谓 Pre-commit,就是说在这个阶段其实还并没有去更新真实 DOM,不过 DOM 信息已经是可以读取了;Commit 阶段:在这一步,React 会完成真实 DOM 更新工作。...和⼀整套思想体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码ts⽀持不友好: yield⽆法返回TS类型redux-saga

4K40

freeCodeCamp | Front End Development Libraries | 笔记

Redux ,所有状态更新都由调度操作(dispatching actions)触发。 Action 只是一个 JavaScript 对象,其中包含有关已发生 action 事件信息。...回想一下,Action 创建者返回一个对象,该对象具有指定已发生 Action 类型属性。 然后,该方法将操作对象调度Redux 存储区。...React 组件提供特定操作(action)创建者, 以便它们可以针对 Redux store 调度(dispatch) 操作(action)。...回想一下,Action 创建者返回一个对象,该对象具有指定已发生 Action 类型属性。 然后,该方法将操作对象调度Redux 存储区。...React 组件提供特定操作(action)创建者, 以便它们可以针对 Redux store 调度(dispatch) 操作(action)。

39310

2021高频前端面试题汇总之React篇

Redux 异步请求怎么处理 可以 componentDidmount 中直接进⾏请求⽆须借助redux。...但是⼀定规模项⽬,上述⽅法很难进⾏异步流管理,通常情况下我们会借助redux异步中间件进⾏异步处理。...action偶合在⼀起,不⽅便管理 功能孱弱: 有⼀些实际开发中常⽤功能需要⾃⼰进⾏封装 使用步骤: 配置中间件,store创建中配置 import {createStore, applyMiddleware...rxjs和⼀整套思想 体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右 功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码 ts⽀持不友好: yield⽆法返回TS类型...“现成东西”等着我们去调度/定制,state 和生命周期就是这些“现成东西”典型。

2K00

一天梳理完react面试题

,就会触发一次额外渲染,多调用了一次 render 函数,由于它是浏览器刷新屏幕前执行,所以用户对此是没有感知,但是应当避免这样使用,这样会带来一定性能问题,尽量是 constructor...和⼀整套思想体积庞⼤: 体积略⼤,代码近2000⾏,min版25KB左右功能过剩: 实际上并发控制等功能很难⽤到,但是我们依然需要引⼊这些代码ts⽀持不友好: yield⽆法返回TS类型redux-saga...“现成东西”等着我们去调度/定制,state 和生命周期就是这些“现成东西”典型。...但是已经使用redux来管理和存储全局数据基础上,再去使用localStorage来读写数据,这样不仅是工作量巨大,还容易出错。那么有没有结合redux来达到持久数据存储功能框架呢?...但是如果渲染 elements tree 包含了 function 类型组件的话,这时候就不能操作组件组件了。

5.4K30

38. 精读《dob - 框架使用》

如果有更好 Store 管理方式,可以 github 和 知乎 深入聊聊。...从数据流功能来说,没有用到数据流组件当然不需要 Connect,但业务组件保持着未来不确定性(业务不确定),所以保持每个业务组件 Connect 便于后期维护。...所以响应式框架,显示申明大法与隔离大法都可以解决异步问题,代码也显得更加灵活。 请求自动重发 响应式框架另一个好处在于可以自动触发,比如自动触发请求、自动触发操作等等。...类型推导 如果你使用 redux,可以参考 你所不知道 Typescript 与 Redux 类型优化 优化 typescript 下 redux 类型推导,如果使用 dob 或 mobx 之类框架...} } 这都得益于响应式数据流是基于面向对象方式操作,可以自然推导出类型

42810

React组件设计实践总结05 - 状态管理

基于 Context 实现组件状态共享,基于 hooks 实现状态管理, 这个方式足够通用. hooks 很多灵活特性足以取代类似 Mobx 这些框架大部分功能 只是普通 React 组件,可以...状态组件内部,没有方法从外部触发状态变更 缺少约束. 是好处也是坏处, 对于团队和初学者来说没有约束会导致风格不统一,无法控制项目熵增。好处是可以自定义自己约束 性能优化....你可能需要显式注解很多数据类型 扩展: react-redux-typescript-guide, rematch & Typescript 六,不是分形(Fractal) 没有看到@杨剑锋这条知乎回答之前也不知道什么叫分形..., 只能尝试解释一下对分形理解: 前面文章也提到过‘分离逻辑和视图’和‘分离容器组件和展示组件’,这两个规则都来自于 Redux 最佳实践。...视图是响应式数据映射 数据变更. mobx 推荐 action/flow(异步操作) 对数据进行变更,action 可以认为是 Redux dispatch+reducer 合体。

2.1K31

社招前端一面react面试题汇总

调度组件state对象更新。...(必考)虚拟 dom 相当于 js 和真实 dom 中间加了一个缓存,利用 dom diff 算法避免了没有必要 dom 操作,从而提高性能。...redux-thunk缺陷:样板代码过多:与redux本身⼀样,通常⼀个请求需要⼤量代码,⽽且很多都是重复性质;耦合严重:异步操作reduxaction偶合在⼀起,不⽅便管理;功能孱弱:有⼀些实际开发中常...redux-saga优点:异步解耦:异步操作被被转移到单独saga.js,不再是掺杂action.js或component.js;action摆脱thunk function: dispatch参数依然是...redux-observable优点:功能最强:由于背靠rxjs这个强⼤响应式编程库,借助rxjs操作符,你可以⼏乎做任何你能想到异步处理;背靠rxjs:由于有rxjs加持,如果你已经学习了rxjs

3K20

Redux + Hooks 工程实践

首先是易懂,Redux 被人吐槽很多可能是写法繁琐,但是繁琐写法背后就没有那么多黑科技了,非常容易排查问题。...而且 Hooks API Redux 最佳实践建议目前是 Level 2 强烈推荐使用级别。他拥有更简洁表达方式,更干净 React 节点数,更友好 typescript 支持。...下一步就是怎么调度这个能力。 可组合封装 这里,我们希望通过一个自定义 hooks,可以允许开发者为一个组件声明某一个 命名空间 reducer 与其生命周期一致地进行挂载与解除挂载。...逻辑通过注释分为了三段(第三段 reducer 场景下没用到),第一段我们通过当前组件所处 redux 上下文,拿到了 store 引用,第二段与第三段我们分别让组件 初始化 和 销毁前 执行挂载与解除挂载操作...特别适用于逻辑相对复杂工作台场景。(而且很喜欢 Saga设计思路,能用起来就很爽)。 OK,收。这次以一个简单例子,稍稍展示了一下 Hooks 大环境下 Redux 与其产生化学反应。

50010
领券