引言

 

为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据,render是react提供的纯函数,所以用户界面的展示完全取决于数据层。

 

这篇文章希望能用最浅显易懂的话,将react中的数据流管理,从自身到借助第三方库,将这些概念理清楚。我会列举几个当下最热的库,包括它们的思想以及优缺点,适用于哪些业务场景。

 

这篇文章不是教程,不会讲如何去使用它们,更不会一言不合就搬源码,正如文章标题所说,只是浅谈,希望读者在读完以后就算原先没有使用过这些库,也能大致有个思路,知道该如何选择性地深入学习。

 

在本文正式开始之前,我先试图讲清楚两个概念,状态和数据

 

我们都知道,react是利用可复用的组件来构建界面的,组件本质上是一个有限状态机,它能够记住当前所处的状态,并且能够根据不同的状态变化做出相应的操作。在react中,把这种状态定义为state,用来描述该组件对应的当前交互界面,表示当前界面展示的一种状况,react正是通过管理状态来实现对组件的管理,当state发生变更时,react会自动去执行相应的操作:绘制界面。

 

所以我们接下来提到的状态是针对react component这种有限状态机。而数据就广泛了,它不光是指server层返回给前端的数据,react中的状态也是一种数据。当我们改变数据的同时,就要通过改变状态去引发界面的变更。

 

我们真正要关心的是数据层的管理,我们今天所讨论的数据流管理方案,特别是后面介绍的几种第三方库,不光是配合react,也可以配合其他的View框架(Vue、Angular等等),就好比开头提到的那个公式,引申一下:UI =X(data),但今天主要是围绕react来讲的,因此我们在说react的状态管理其实和数据流管理是一样的,包括我们会借助第三方库来帮助react管理状态,希望不要有小伙伴太纠结于此。

 

一、react自身的数据流管理方案

 

我们先来回顾一下,react自身是如何管理数据流的(也可以理解为如何管理应用状态):

 

react是自上而下的单向组件数据流,容器组件&展示组件(也叫傻瓜组件&聪明组件)是最常用的react组件设计方案,容器组件负责处理复杂的业务逻辑以及数据,展示组件负责处理UI层,通常我们会将展示组件抽出来进行复用或者组件库的封装,容器组件自身通过state来管理状态,setState更新状态,从而更新UI,通过props将自身的state传递给展示组件实现通信。

 

这是当业务需求不复杂,页面较简单时我们常用的数据流处理方式,仅用react自身提供的props和state来管理足矣,但是如果稍微增加一点复杂度呢,比如当我们项目中遇到这些问题:

 

1)如何实现跨组件通信、状态同步以及状态共享?

 

react V16.3以前,通过状态提升至最近的共同父组件来实现。(虽然有官方提供的contextAPI,但是旧版本存在一个问题:看似跨组件,实则还是逐级传递,如果中间组件使用了ShouldComponentUpdate检测到当前state和props没有变化,returnfalse,那么context就会无法透传,因此context没有被官方推荐使用)。

 

 

react V16.3版本以后,新版本context解决了之前的问题,可以轻松实现,但依然存在一个问题,context也是将底部子组件的状态控制交给到了顶级组件,但是顶级组件状态更新的时候一定会触发所有子组件的re-render,那么也会带来损耗。(虽然我们可以通过一些手段来减少重绘,比如在中间组件的SCU里进行一些判断,但是当项目较大时,我们需要花太多的精力去做这件事)

 

 

2)如何避免组件臃肿?

 

当某个组件的业务逻辑非常复杂时,我们会发现代码越写越多,因为我们只能在组件内部去控制数据流,没办法抽离,Model和View都放在了View层,整个组件显得臃肿不堪,业务逻辑统统堆在一块,难以维护。

 

3)如何让状态变得可预知,甚至可回溯?

 

当数据流混乱时,我们一个执行动作可能会触发一系列的setState,我们如何能够让整个数据流变得可“监控”,甚至可以更细致地去控制每一步数据或状态的变更?

 

4)如何处理异步数据流?

 

react自身并未提供多种处理异步数据流管理的方案,仅用一个setState已经很难满足一些复杂的异步流场景;

 

如何改进?

 

这个时候,我们可能需要一个真正的数据流管理工具来帮助react了,我们希望它是真正脱离react组件的概念的,从UI层完全抽离出来,只负责管理数据,让react只专注于View层的绘制。

 

那这也是为什么我们需要使用那些第三方数据流管理工具的原因,接下来我们就来了解一些当前社区比较热门的数据流管理工具。

 

二、redux

 

我直接跳过了flux来说redux,主要是因为redux是由flux演变而来,可以说是flux的升级加强版,flux具备的优势redux也做到了。

 

redux提供了哪些?

 

 

1)store:提供了一个全局的store变量,用来存储我们希望从组件内部抽离出去的那些公用的状态;

2)action:提供了一个普通对象,用来记录我们每一次的状态变更,可日志打印与调试回溯,并且这是唯一的途径;

3)reducer:提供了一个纯函数,用来计算状态的变更;

 

为什么需要redux?

 

很多人在用了一段时间的redux之后,最大的感想就是,redux要写大量的模板代码,很麻烦,还不如只用react来管理。特别是在react的新context推出以后,许多人更是直接弃用了redux,甚至觉得redux已死。如果说旧版的context的弊端,我们通过redux配合react-redux来实现跨组件的状态通信同步等问题,那确实新版本的context可以替换掉这个功能点,但如果你的项目中仅仅是用redux做这些,那思考一下,你是否真的需要redux?也许从一开始你就不需要它。

 

(虽然新版的context功能强大,但是依然是通过一个新的容器组件来替我们管理状态,那么通过组件管理状态的问题依旧会存在,Consumer是和Provider一一对应的,在项目复杂度较高时,可能会出现多个Provider,更多个Consumer,甚至会一个Consumer需要对应多个Provider的传值等一系列复杂的情况,所以我们依然要谨慎使用)

 

redux的核心竞争力

 

1)状态持久化:globalstore可以保证组件就算销毁了也依然保留之前状态;

2)状态可回溯:每个action都会被序列化,Reducer不会修改原有状态,总是返回新状态,方便做状态回溯;

3)Functional Programming:使用纯函数,输出完全依赖输入,没有任何副作用;

4)中间件:针对异步数据流,提供了类express中间件的模式,社区也出现了一大批优秀的第三方插件,能够更精细地控制数据的流动,对复杂的业务场景起到了缓冲地作用;

 

 

与其说是redux来帮助react管理状态,不如说是将react的部分状态移交至redux那里。redux彻头彻尾的纯函数理念就表明了它不会参与任何状态变化,完全是由react自己来完成。只不过redux会提供一套工具,react照着说明书来操作罢了。

 

所以这注定了想要接受redux,就必须按照它的规矩来做,除非你不愿意接受这种FP的模式。这种模式有利有弊,有利就是在一个大型的多人团队中,这种开发模式反而容易形成一种规约,让整个状态流程变得清晰,弊端就是对于小规模团队,尤其是着急发布上线的,这种繁重的代码模板无疑是一种负担。

 

redux的缺点:

 

1)繁重的代码模板:修改一个state可能要动四五个文件,可谓牵一发而动全身;

2)store里状态残留:多组件共用store里某个状态时要注意初始化清空问题;

3)无脑的发布订阅:每次dispatch一个action都会遍历所有的reducer,重新计算connect,这无疑是一种损耗;

4)交互频繁时会有卡顿:如果store较大时,且频繁地修改store,会明显看到页面卡顿;

5)不支持typescript;

 

关于如何优化,网上有很多优秀的案例,redux官方也提供了很多方法,这里不再赘述。redux未来不会有太大的变化,那些弊端还是会继续保留,但是这依然不会妨碍忠爱它的用户去使用它。

 

如果说redux那种强硬的函数式编程模式让很多人难以接受,那么当他们开始mobx的使用的时候,无疑是一种解脱。

 

三、mobx

 

最开始接触mobx也是因为redux作者DanAbramov的那句:Unhappywith redux?try mobx,我相信很多人也是因为这句话而开始了解学习并使用它的。

 

下面列举一些mobx的优势(和redux进行一个对比)

 

1)redux不允许直接修改state,而mobx可随意修改;

2)redux修改状态必须走一套指定的流程较麻烦,而mobx可以在任何地方直接修改(非严格模式下);

3)redux模板代码文件多,而mobx非常简洁,就一个文件;

4)redux只有一个store,state orstore难以取舍,而mobx多store,你可以把所有的state都放入store中,完全交给mobx来管理,减少顾虑;

5)redux需要对监听的组件做SCU优化,减少重复render;而mobx都是SmartComponent,不用我们手动做SCU;

 

mobx的设计思想:

 

 

说了这么多,如果你是第一次了解mobx,是不是听着就感觉很爽!没错,这就是mobx的魅力,那它是如何实现这些功能的呢?

 

这里以mobx 5版本为例,实际上它是利用了ES6的proxy来追踪属性(旧版本是用Object.defineProperty来实现的)通过隐式订阅,自动追踪被监听的对象变化,然后触发组件的UI更新。

 

如果说redux是把要做的事情都交给了用户,来保证自己的纯净,那么mobx就是把最简易的操作给了用户,其它的交给mobx内部去实现。用户不必关心这个过程,Model和View完全分离,我们完全可以将业务逻辑写在action里,用户只需要操作Observabledata就行了。

 

Observerview会自动做出响应,这就是mobx主打的响应式设计,但是编程风格依然是传统的面向对象的OO范式。(熟悉Vue的朋友一定对这种响应式设计不陌生,Vue就是利用了数据劫持来实现双向绑定,其实React +Mobx就是一个复杂点的Vue,Vue 3版本一个重大改变也是将代理交给了proxy)

 

刚刚mobx的优势说得比较多了,这边再总结一下:

 

1)代码量少;

2)基于数据劫持来实现精准定位(真正意义上的局部更新);

3)多store抽离业务逻辑(Model View分离);

4)响应式性能良好(频繁的交互依然可以胜任);

5)完全可以替代react自身的状态管理;

6)支持typescript;

 

但是mobx真的这么完美吗,当然也有缺陷

 

1)没有状态回溯能力:mobx是直接修改对象引用,所以很难去做状态回溯;(这点redux的优势就瞬间体现出来了)

2)没有中间件:和redux一样,mobx也没有很好地办法处理异步数据流,没办法更精细地去控制数据流动;(redux虽然自己不做,但是它提供了applyMiddleware!)

3)store太多:随着store数的增多,维护成本也会增加,而且多store之间的数据共享以及相互引用也会容易出错

4)副作用:mobx直接修改数据,和函数式编程模式强调的纯函数相反,这也导致了数据的很多未知性

 

其实现在主流的数据流管理分为两大派,一类是以redux为首的函数式库,还有一类是以mobx为首的响应式库,其实通过刚刚的介绍,我们会发现,redux和mobx有一个共同的短板,那就是在处理异步数据流的时候,没有一个很好的解决方案,至少仅仅依靠自身比较吃力,那么接下来给大家介绍一个处理异步数据流的高手:rxjs。

 

四、rxjs

 

我相信很多人听说过rxjs学习曲线异常陡峭,是的,除了眼花缭乱的各类操作符(目前rxjs V6版本有120+个),关键是它要求我们在处理事务的时候要贯彻“一切皆为流”的理念,更是让初学者难以理解。

 

这一小节并不能让读者达到能够上手使用的程度,正如文章开头所说,希望读者(新手)能对rxjs有一个新的认知,知道它是做什么的,它是如何实现的,它有哪些优势,我们如何选择它,如果感兴趣还需要私下花大量时间去学习掌握各种操作符,但我也会尝试尽可能地相对于前两个说得更细致一些。

 

在开始介绍rxjs之前,我们先来简单地聊聊什么是响应式编程?我以一个很简单的小例子来看:a + b = c。

 

如果站在传统的命令式编程的角度来看这段公式:c的值完全依赖于a和b,这时候我们去改变a的值,那我们就需要再去手动计算a + b的值,a、b和c是相互依赖的。

 

那么如果站在响应式编程的角度来看,这个公式又会变成这样:c := a + b,a和b完全不关心c的值,c也完全不关心等式那边是a或者b,或者还有什么d,e,f。。。等式右边改变值了,左边会自动更改数值,这就是响应式编程的思维方式。

 

我们再来看前端的框架历史,传统命令式编程的代表:jQuery,在过去我们是如何绘制一个页面的?我们会用jQuery提供的一套API,然后手动操作Dom来进行绘制,很精准,但是很累,因为完全靠手动操作,且改动时性能损耗较大,开发者的注意力完全在“如何去绘制”上面了。

 

那我们再来看响应式编程的react,它是如何来实现的?

 

开发者根本不用关心界面如何绘制,只要告诉react我们希望页面长什么样子,就可以了,剩下的交给react,react就会自动帮我们绘制界面,还记得开头时的那个核心思想吗:UI =render(data),我们只要操作data就可以了,页面UI会自动作出响应,而且我们一切的操作都是基于内存之中,不会有较大的性能损耗,这就是react响应式编程的精髓,也是为何它叫作react。

 

回到我们的rxjs上,rxjs是如何做到响应式的呢?多亏了它两种强大的设计模式:观察者模式和迭代器模式;简单地介绍一下:

 

1)观察者模式:

 

 

在观察者模式中,有两个重要的角色:Observable和Observer,熟悉mobx的同学对这个一定不陌生(所以我建议想要学习rxjs的同学,如果对mobx不熟悉,可以先学习一下mobx,然后再学习rxjs,这样会更容易理解一些)。

 

就是可观察对象和观察者,可观察对象(Observable)也就是事件发布者,负责产生事件,而观察者(Observer)也就是事件响应者,负责对发布的事件作出响应,但是如何连接一个发布者和响应者呢?

 

通过订阅的形式,也就是subscribe方法(这也类似于redux的store.subscribe),而在订阅之前,他们两者是毫无关联的,无论Observable发出多少事件,Observer也不会做出任何响应,同样,当这种订阅关系中断时也不会。

 

2)迭代器模式:

 

在这里要先引出一个新的概念:拉取(pull)和推送(push),rxjs官方这两种协议有更详细的解释,我这里就直接引用一下:

 

 

拉取和推送实际上对于观察者来说就是一个主动与被动的区别,是主动去获取还是被动地接收。在rxjs中,作为事件响应者(消费者)的Observer对象也有一个next属性(回调函数),用来接收从发布者那里“推”过来的数据。

 

(站在开发者的角度,我们一定是希望消息是被动地接收,因为我们倡导的就是通过操作data数据层,让View层进行一个响应,那么这里data数据层一定是事件发布者,而View层就是事件响应者,每当data数据层发生变化时,都会主动推送一个值给View层,这才符合真正意义上的响应式编程,而rxjs做到了!)

 

如何配合react?

 

如果说redux和mobx的出现或多或少是因为react的存在,那么不同的是rxjs和react并没有什么关联,关于rxjs的历史这里不多说,感兴趣的可以了解一下ReactiveExtension,rxjs只是响应式编程在JavaScript中的应用。

 

那么如何帮助react实现状态管理呢,我们只需要将组件作为事件响应者,然后在next回调里定义好更新组件状态的动作setState,当接收到数据推送时,就会自动触发setState,完成界面更新,这其实有点类似于mobx做的事情。(很多人在react项目中并没有完全只使用rxjs,而是用了这个redux-observable中间件,利用rxjs的操作符来处理异步action)

 

除了响应式编程的魅力,rxjs还有什么优势呢?

 

1)纯函数:rxjs中数据流动的过程中,不会改变已经存在的Observable实例,会返回一个新的Observable,没有任何副作用;

2)强大的操作符:rxjs又被称为lodash forasync,和lodash一样,拥有众多强大的操作符来操作数据流,不光是同步数据,特别是针对各种复杂的异步数据流,甚至可以多种事件流组合搭配,汇总到一起处理;

3)更独立:rxjs并不依赖于任何一个框架,它可以任意搭配,因为它的关注点完全就是在于数据流的处理上,而且它更偏底层一些

 

那rxjs有哪些缺点呢?

 

1)学习曲线陡峭:光是这一点就已经让大多数人止步于此;

2)事件流高度抽象:用rxjs的用户反馈一般都是两种极端情况,用得好的都觉得这个太厉害了,用得不好的都觉得感觉有点麻烦,增加了项目复杂度。

 

五、结语

 

最后,总结一下各类的适用场景:

 

1)当我们项目中复杂程度较低时,建议只用react就可以了;

2)当我们项目中跨组件通信、数据流同步等情况较多时,建议搭配react的新context api;

3)当项目复杂度一般时,小规模团队或开发周期较短、要求快速上线时,建议使用mobx;

4)当项目复杂度较高时,团队规模较大或要求对事件分发处理可监控可回溯时,建议使用redux;

5)当项目复杂度较高,且数据流(尤其是异步数据)混杂时,建议使用rxjs;

 

其实回顾全篇,我没有提到一个关键点是,各个库的性能对比如何。其实它们之间一定是有差异的,但是这点性能差异,相对于react自身组件设计不当而导致的性能损耗来说,是可以忽略的。

 

如果你现在的项目觉得性能较差或者页面卡顿,建议先从react层面去考虑如何进行优化,然后再去考虑如何优化数据管理层。关于上面提到的三个数据流管理工具,有利有弊,针对弊端,网上也有一大批优秀的解决方案和改进,感兴趣的读者可自行查阅。

 

【推荐阅读】

 

  • OCR技术在携程业务中的应用

  • 基于tendermint实现Hyperledger Fabric的拜占庭容错排序

  • 携程混合云之kubernetes@AWS揭秘

  • 携程技术演进之路

原文https://mp.weixin.qq.com/s/ii6H6mhe2OAUf7RquVxN8g

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 精读《前端数据流哲学》

    本系列分三部曲:《框架实现》 《框架使用》 与 《数据流哲学》,这三篇是我对数据流阶段性的总结,正好补充之前过时的文章。 本篇是收官之作 《前端数据流哲学》。 1 引言 写这篇文章时,很有压力,如有不妥之处&#xff…...

    2024/4/28 11:22:32
  2. 做过双眼皮多久不疼了

    ...

    2024/4/28 14:36:33
  3. 埋线双眼皮大概几天可以消肿

    ...

    2024/4/28 4:14:00
  4. 北京做双眼皮医生孙强

    ...

    2024/4/28 4:16:26
  5. 双眼皮内眼角肉条

    ...

    2024/4/27 21:43:05
  6. 高中人南昌双眼皮医院优问同济整形

    ...

    2024/4/21 13:41:46
  7. 修复双眼皮对眼球安全吗

    ...

    2024/4/21 13:41:45
  8. 双眼皮割后眼袋发青

    ...

    2024/4/21 13:41:43
  9. 烟台双眼皮看.华怡好

    ...

    2024/4/21 13:41:42
  10. 同济美容医院双眼皮专家

    ...

    2024/4/21 13:41:41
  11. Angular的启动方式

    方式 1&#xff1a;自动启动 Angular会自动的找到ng-app&#xff0c;将它作为启动点&#xff0c;自动启动 <!DOCTYPE html> <html ng-app"myModule"><head><title>New Page</title><meta charset"utf-8" /><scrip…...

    2024/4/20 15:18:21
  12. 三点打孔双眼皮能维持多久

    ...

    2024/4/21 13:41:39
  13. 睡起来双眼皮标

    ...

    2024/4/21 13:41:39
  14. 2000元双眼皮下眼睑厚

    ...

    2024/4/21 13:41:37
  15. 南山医院割台州割双眼皮高明维多利亚S

    ...

    2024/4/21 13:41:37
  16. vue概述(常用面试考点)

    文章目录1、MVC、MVP与MVVM模式1.1 mvc1.2 mvp1.3 mvvm1.4 区别2、常见的mvvm的几种方式3、Object.defineProperty()方法4、构建的 vue-cli 工程都到了哪些技术&#xff0c;它们的作用分别是什么&#xff1f;5、vue-cli 工程常用的 npm 命令有哪些&#xff1f;6、请说出vue-cli…...

    2024/4/21 13:41:36
  17. 完全离线安装 eslint 的方法

    1.在无法联网的电脑上先把VSCode安装好。 2.在家里有网的电脑上&#xff0c;在vsCode里面的扩展直接安装eslint插件&#xff0c;然后在该路径&#xff08;C:\Users\Administrator\.vscode\extensions&#xff09;下&#xff0c; 把eslint插件的文件夹&#xff08;dbaeumer.vsco…...

    2024/4/21 13:41:34
  18. 如何规范团队代码,小程序ESLint+Prettier+lint-staged+commit+changelog+standard-version自动规范实践

    文章目录如何规范团队代码&#xff0c;小程序ESLintPrettierlint-stagedcommitchangelogstandard-version自动规范实践简介以及优势ESLintPrettierhusky lint-stagedcommitizencommitlintconventional-changelogstandard-versionESLint引入安装配置使用规则使用方法Prettier引…...

    2024/4/21 13:41:33
  19. vue 第一天

    vue-介绍 三大前端框架 Vue Vue.js (view)是一套构建用户界面的前端框架技术 内部集成了许多基础技术&#xff0c;例如html、css、javascript、ajax、node等&#xff0c;当然还有vue本身高级技术体现&#xff0c;例如组件、过滤器、指令、路由、webpack等等 2012年出现&am…...

    2024/4/20 15:51:21
  20. Google JavaScript样式指南

    Google JavaScript样式指南 目录 1简介1.1术语说明1.2指南说明2源文件基础知识2.1文件名2.2文件编码&#xff1a;UTF-82.3特殊字符3源文件结构3.1许可或版权信息&#xff08;如果有&#xff09;3.2 fileoverview JSDoc&#xff0c;如果存在的话3.3 goog.module语句3.4 goog.req…...

    2024/4/20 15:51:19

最新文章

  1. 接口的构成

    目录 接口 一、URL 二、请求方法 三、请求报文&#xff08;request message&#xff09; 3.1请求行 3.2请求头 3.3 请求体 四、响应报文&#xff08;response message&#xff09; 4.1响应行 4.2响应头 4.3响应体 接口 接口就是API&#xff0c;是程序开发的函数和方…...

    2024/4/28 21:12:33
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Databend 开源周报第 138 期

    Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持多表插入 …...

    2024/4/28 7:51:22
  4. FastAPI+React全栈开发07 MongoDB数据库的结构

    Chapter02 Setting Up the Document Store with MongoDB 02 The structure of a MongoDB database FastAPIReact全栈开发07 MongoDB数据库的结构 MongoDB is arguably the most used NoSQL database today, its power, ease of use, and versatility make it an excellent c…...

    2024/4/22 11:38:28
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/4/28 13:52:11
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/4/28 3:28:32
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/26 23:05:52
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/4/28 13:51:37
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/28 15:57:13
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/4/25 18:39:16
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/28 1:22:35
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/4/26 23:04:58
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/26 19:46:12
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/4/27 11:43:08
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/27 8:32:30
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57