Redux 进阶
系列文章:
Redux 入门
Redux 进阶(本文)
番外篇: Vuex — The core of Vue application
在之前的文章中,我们已经了解了 Redux 到底是什么,用来处理什么样的问题,并创建了一个简单的 TodoMVC Demo。但是,我们同样遗留了一些问题没有处理,比如:异步处理、中间件、模板绑定等,这些问题我们将在这篇文章中通过一个简单的天气预报 Demo 来一一梳理(查看源码点这里)。
在开始新的内容之前,先快速回顾一下上一篇的内容。
Action, Reducer & Store
创建一个基于 Redux 状态管理的应用时,我们还是从创建 Redux 的核心开始。
首先,建立 Action。假设,发出请求和收到请求之间有一个 loading 的状态,那么,我们将查询天气这个行为划分为 2 个 action,并为此创建 2 个工厂函数。
export const QUERY_WEATHER_TODAY = 'QUERY_WEATHER_TODAY'
export const RECEIVE_WEATHER_TODAY = 'RECEIVE_WEATHER_TODAY'export function queryWeatherToday(city) {return {type: QUERY_WEATHER_TODAY,city}
}export function receiveWeatherToday(weatherToday) {return {type: RECEIVE_WEATHER_TODAY,weatherToday}
}
然后,为 Action 创建相应的 Reducer,不要忘了 Reducer 必须是一个纯函数。
export default function WeatherTodayReducer(state = {}, action) {switch (action.type) {case QUERY_WEATHER_TODAY:return { load: true, city: action.city }case RECEIVE_WEATHER_TODAY:return { ...state, load: false, detail: action.weatherToday}default:return state}
}
最后是 Sotre。
import { createStore } from 'redux'
import WeatherForecastReducer from '../reducers'
import actions from '../actions'let store = createStore(WeatherForecastReducer)
// Log the initial state
console.log('init store', store.getState())store.dispatch(actions.queryWeatherToday('shanghai'))console.log(store.getState())store.dispatch(actions.receiveWeatherToday({}))console.log(store.getState())export default store
启动应用之后,就能在控制台中看到一下的输出。
回顾了之前的内容以后,那我们就进入正题,来看一些新概念。
中间件
相信大家对中间件这个词并不陌生,Redux 中的中间件和其他的中间件略微有些不同。它并不是对整个 Redux 进行包装,而是对 store.dispatch
方法进行的封装,是 action 与 reducer 之间的扩展。
Redux 官网一步一步详细地演示了中间件产生的原因及其演变过程,在此我就不再多做赘述了。
中间件在真正应用中是必不可少的一环,或许你不需要写一个中间件,但理解它会对你运用 Redux 编写代码会有很大的帮助。
异步请求
在上一篇文章中有提到,为了保证 reducer 的纯净,Redux 中的异步请求都是由 action 处理。
但是,reducer 需要接收一个普通的 JS 对象,action 工厂返回一个描述事件的简单对象,那我们的异步方法该怎么处理哪?这就需要我们刚才提到的中间件来帮忙了,添加 redux-thunk 这个中间件,使我们的 action 得到增强,使得 action 不单能返回对象,还能返回函数,在这个函数中还可以发起其他的 action。
其实,redux-thunk 这个中间件也没有什么特别之处,在 Redux 官网的案例最后已经简单地实现了它。
/*** 虽然,中间件是对 store.dispatch 的封装,但它是添加在整个 store 上* 所以,函数能传递 `dispatch` 和 `getState` 作为参数* * redux-thunk 的逻辑就是判断当前的 action 是不是一个函数,是就执行函数,不是就继续传递 action 给下一个中间件*/
const thunk = store => next => action =>typeof action === 'function' ?action(store.dispatch, store.getState) :next(action)
于是,我们就修改一下之前的 action,给它添加一个异步请求。
export const QUERY_WEATHER_TODAY = 'QUERY_WEATHER_TODAY'
export const RECEIVE_WEATHER_TODAY = 'RECEIVE_WEATHER_TODAY'const queryWeatherToday = city => ({type: QUERY_WEATHER_TODAY,city
})const receiveWeatherToday = weatherToday => ({type: RECEIVE_WEATHER_TODAY,weatherToday
})export function fetchWeatherToday(city) {return dispatch => {dispatch(queryWeatherToday(city))return fetch(`http://api.openweathermap.org/data/2.5/weather?q=${city}&APPID=${CONFIG.APPID}`).then(response => response.json()).then(data => dispatch(receiveWeatherToday(data)))}
}
既然,我们用了中间件,那就要在 createStore 的时候装载中间件。
import { createStore, applyMiddleware } from 'redux'
import thunkMiddleware from 'redux-thunk'
import createLogger from 'redux-logger'import WeatherForecastReducer from '../reducers'
import actions from '../actions'const loggerMiddleware = createLogger()const store = createStore(WeatherForecastReducer,applyMiddleware(thunkMiddleware,loggerMiddleware)
)store.dispatch(actions.fetchWeatherToday('shanghai'))export default store
这时,再看看应用的控制台。
OK,Redux 核心的功能我们基本完成,我们继续看看如何将它同界面绑定在一起。
模板绑定
官网的例子都是 Redux 搭配 React,用的是 react-redux;然而,本文一直是以 Angular 来写的例子,所以,这里就用到另一个 redux 生态圈中的项目 angular-redux。它其中包含了 2 个不同的库,ng-redux 和 ng2-redux,分别对应 Angular 1.x 和 Angular 2 两个版本。
当然,我们这里使用 ng-redux。之前那些章节和官网讲述的可能相差不大,但这部分就有所区分了。
react-redux 提供一个特殊的 React 组件 Provider
,它通过 React Context 特性使每个组件不用显示地传递 store 就能使用它。
ng-redux 当然不能使用这种方式,但它可以使用 angular 自己的方式——依赖注入。
ng-redux 是一个 provider
,它包含了所有 Redux store 所有的 API,额外只有 2 个 API,分别是 createStoreWith
和 connect
。
其中,createStoreWith
显而易见是用来创建一个 store,参数同 Redux 的 createStore
方法差不多,原有创建 store 的方法就用不到了,之前的 store.js 也就被合并到了应用启动的 index.js 里。
import angular from 'angular'
import ngRedux from 'ng-redux'
import thunkMiddleware from 'redux-thunk'
import createLogger from 'redux-logger'import './assets/main.css'
import WeatherForecastReducer from './reducers'
import Components from './components'const loggerMiddleware = createLogger()angular.module('WeatherForecastApp', [ngRedux, Components]).config($ngReduxProvider => {$ngReduxProvider.createStoreWith(WeatherForecastReducer,[thunkMiddleware, loggerMiddleware])})
这样应用的 store 就建立好了。
另一个 API connect
的用法同 react-redux 的 connect
方法差不多,用于将 props 和 actions 绑定到 template 上。
API 签名是 connect(mapStateToTarget, [mapDispatchToTarget])(target)
。
其中,mapStateToTarget
是一个 function
,function
的参数是 state,返回 state 的一部分,即 select;mapDispatchToTarget
可以是对象或函数,如果是对象,那么它的每个属性都必须是 actions 工厂方法,这些方法会自动地绑定到 target
对象上,也就是说,如果用之前定义好的 action,这边就不需要做任何的修改;如果是函数,那么这个函数会被传递 dispatch 作为参数,而且这个函数需要返回一个对象,如何 dispatch action 就由你自己设定,同时这个对象的属性也会绑定到 target
对象上。
最后的 target
就是目标对象了,也可以是函数,如果是函数的话,前面所传的 2 个参数会作为 target
函数的参数。
好了,扯了这么多概念,估计你也晕了。
Talk is sxxt,show me the code!
// query-city/controller.js
import actions from '../../actions'export default class QueryCity {constructor($ngRedux, $scope) {const unsubscribe = $ngRedux.connect(null, actions)(this)$scope.$on('$destroy', unsubscribe)}
}// today-weather-board/controller.js
export default class TodayWeatherBoardCtrl {constructor($ngRedux, $scope) {const unsubscribe = $ngRedux.connect(this.mapStateToThis)(this);$scope.$on('$destroy', unsubscribe);}mapStateToThis(state) {return {weatherToday: state.weatherToday};}
}
这样,controller 是不是变得很简洁?
Weather Forecast 部分基本和之前的部分相同,唯一的一处小修改就是把 QueryCity 控制器里添加一个方法,在方法里调用 2 个不同的 action 来替换之前按钮上直接绑定的 action。
于是,我们的天气预报应用就成了这样。
路由切换
一个真实的项目肯定会用到路由切换,路由状态也是应用状态的一部分,那么它也应当由 Redux 来统一管理。
谈到 Angular 的路由,那必须提到 ui-router。那 ui-router 怎么整合到由 Redux 管理的项目中哪?答案是:redux-ui-router。
使用 redux-ui-router 同样也有 3 点要注意:
使用 store 来管理应用的路由状态
使用 action 代替 $state 来触发路由的变更
使用 state 代替 $stateParams 来作为路由参数
记住这些就可以动手开工了。首先,安装依赖:
npm install angular-ui-router redux-ui-router --save
这里有一点要注意,redux-ui-router 虽然依赖 angular-ui-router,但它不会帮你自动安装,需要你自己额外手动安装,虽然你项目里不需要引入 angular-ui-router 模块。
安装完依赖之后,就把它引入到我们项目中,项目的 index.js 就变为了
import angular from 'angular'
import ngRedux from 'ng-redux'
import ngReduxUiRouter from 'redux-ui-router'
import thunkMiddleware from 'redux-thunk'
import createLogger from 'redux-logger'import './assets/main.css'
import { current, forecast } from './Router'
import App from './app/app'
import WeatherForecastReducer from './reducers'
import Components from './components'const loggerMiddleware = createLogger()angular.module('WeatherForecastApp', [ngReduxUiRouter, ngRedux, App, Components]).config(($urlRouterProvider, $stateProvider) => {$urlRouterProvider.otherwise('/current')$stateProvider.state('current', current).state('forecast', forecast)}).config($ngReduxProvider => {$ngReduxProvider.createStoreWith(WeatherForecastReducer,[thunkMiddleware, loggerMiddleware, 'ngUiRouterMiddleware'])})
项目中只需引入 ngReduxUiRouter
模块,而不用再引入 ui-router 模块到应用中。ui-router 的路由声明就不在这里赘述了,网上的资料也是大把大把的。
接着,将 'ngUiRouterMiddleware'
添加到中间件中,这样距离完工就只剩最后一步了。
那就是修改主 Reducer 文件,将路由的 Reducer 合并到主 Reducer中,
import { combineReducers } from 'redux'
import { router } from 'redux-ui-router'
import weatherToday from './WeatherToday'
import weatherForecast from './WeatherForecast'export default combineReducers({weatherToday,weatherForecast,router
})
OK,大工告成。现在,如果你刷新界面就应该能看到控制台中已经输出了 type
为 @@reduxUiRouter/$stateChangeStart
和 @@reduxUiRouter/$stateChangeSuccess
的 action log。此时,如果页面上使用 ui-sref
来切换应用路由状态的话,同样也能看到 redux-logger 输出的日志。
在这个 Demo 里,我就不直接使用 ui-sref
,而是用例子来说明刚刚提到的 3 点中的第二点:使用 action 代替 $state 来触发路由的变更。
import { stateGo } from 'redux-ui-router'export default class NavBarCtrl {constructor($ngRedux, $scope) {const routerAction = { stateGo }const unsubscribe = $ngRedux.connect(this.mapStateToThis, routerAction)(this)$scope.$on('$destroy', unsubscribe)}mapStateToThis(state) {return {router: state.router}}
}
从代码中可以看到,先从 redux-ui-router 里引入了 stateGo
方法,然后通过上一节所说的模板绑定,将这个方法绑定到当前的模板上,于是在模板中就可以使用 $ctrl.stateGo()
方法来跳转路由。
那为什么说这就满足了刚刚的第二点哪?查看源码就可以发现,redux-ui-router 提供的 stateGo(to, params, options)
等 API 也只是个再普通不过的 action 工厂方法,返回一个特定 type 的 action。
路由的切换是在之前添加的中间件中,做了一个类似 reducer 的处理,根据不同的 action type 触发不同的路由事件。
举一反三,通过模板绑定我们可以获得当前应用的 state。那么,我们同样可以用过调用 $ctrl.stateGo()
等方法给路由切换添加参数来做到使用 state 代替 $stateParams 来作为路由参数。
顺便说一句,redux-ui-router 似乎还没有支持 angular-ui-router 中的 View Load Events,如果你看懂了我刚刚所说的,那么 pr 走起。
写在最后
一不小心写了那么长,文笔又不是很好,不知有多少人看完了,希望大家都有所收获。
其中,也有不少细节也没有细说,有疑问的就留言吧。
在学习的过程中发现还有不少相关的知识可以扩展,应该还会有下一篇。
最后,最重要的当然是附上源码。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- [译] 2019 React Redux 完全指南
原文地址:A Complete React Redux Tutorial for 2019原文作者:Dave Ceddia译文出自:掘金翻译计划本文永久链接:github.com/xitu/gold-m…译者:xilihuasi校对者:xionglong58、Fengziyin12342019 React Redux…...
2024/4/21 11:46:23 - Redux学习 React+Redux实战(connect方法各个参数解读)
本文复制了官网许多概念,稍加整合知识点使之变得更合理完整,以个人的认为比较好的学习路线循序渐进各个知识点,额外也会补充些许知识点。大家若有不解,还请多参阅官网。 本文示例背景(最常见的 Web 类示例): TodoList…...
2024/4/21 11:46:22 - 双眼皮手术左右不对称怎么修复
...
2024/4/21 11:46:21 - React Redux 介绍
Redux 介绍 文章目录Redux 介绍一.简介二.Redux 三大原则1.单一数据源2.state是只读的3.使用纯函数来执行修改3.1 纯函数三.Redux的组成1.Action1.1 actionType1.2 action Create2.Reducer2.1 combineReducers()3.Store3.1 createStore()四.React中Redux的使用1.react-redux2.P…...
2024/4/28 4:33:56 - 前端技术 | 从Flux到Redux
上一篇分析了Flux出现的背景和原理,最核心的思想就是“组件化单向数据流”。 但是,Flux在设计上并非完美,具体来说主要存在以下2个不足: 1. 多Store数据依赖 由于Flux采用多Store设计,各个Store之间可能存在数据依赖。…...
2024/4/21 11:46:19 - Redux各知识点介绍
继 Facebook 提出 Flux 架构来管理 React 数据流后,相关架构开始百花齐放,本文简单分析 React 中管理数据流的方式,以及对 Redux 进行较为仔细的介绍。 React " A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES " 在 React 中…...
2024/4/21 11:46:18 - React:React-redux使用
一. Redux简介 1. 什么是Redux Redux是一个用于JavaScript状态容器,提供可与预测化的状态管理。 Redux可以让你构建一致化的应用,运用于不同的环境(客户端,服务器,原生应用),并且易于测试。 …...
2024/4/21 11:46:17 - Redux基础学习
文章目录介绍基础学习 Redux一、安装二、Action三、ReducerObject.assign 须知switch 和样板代码须知四、Store五、案例演示基础学习 React Redux一、安装二、Provider 标签三、connect函数1、mapStateToProps(state, ownProps) : stateProps2、mapDispatchToProps(dispatch, o…...
2024/4/21 11:46:16 - 前端技术(二):从Flux到Redux
什么是Redux? 首先我们要搞清楚,Redux解决了哪些问题?主要是以下3点: 1.如何在应用程序的整个生命周期内维持所有数据? Redux是一个“状态容器”。写过React或者ReactNative的同学可能会有感受,如果多个…...
2024/4/21 11:46:15 - 双眼皮手术左右不对称
...
2024/4/21 11:46:14 - 双眼皮手术肿了
...
2024/4/21 11:46:13 - 双眼皮手术郑州医院好
...
2024/4/21 11:46:12 - 双眼皮手术郑州医院比较好呢
...
2024/4/21 11:46:12 - 双眼皮手术郑州医院
...
2024/4/21 11:46:11 - AngularJs 的compile, preLink , postlink
AngularJs 的compile, preLink , postlink 主要参考文章 【1】 http://www.jb51.net/article/58229.htm 文章中对这三个概念做了详细的解析, 如果你只写了一个link , 那么系统会默认是post link, 开发者都喜欢在post link 函数中增加相应的逻辑就是以为你可以保证…...
2024/4/21 11:46:09 - AngularJS(五)
今天接着学习指令 ng-style和ng-class一样也可用于动态设置CSS样式 ng-style属性通常被解析为一个js对象(实际上就该算是css中定义的一个类),而昨天学的ng-class是可以根据不同情况解析为字符串和js对象的 解析为字符串的用法就是这样&#x…...
2024/4/20 16:57:24 - 走进AngularJs(三)自定义指令-----(上)
原文转自:http://www.cnblogs.com/lvdabao/p/3391634.html 一、有感而发的一些话 在学习ng之前有听前辈说过,angular上手比较难,初学者可能不太适应其语法以及思想。随着对ng探索的一步步深入,也确实感觉到了这一点,尤…...
2024/4/20 16:55:51 - angularJs(一)指令
1、调用 指令调用可以ng:bind, ng-bind, ng_bind, x-ng-bind , data-ng-bind这些方式 <!doctype html> <html ng-app><head><script src"http://code.angularjs.org/angular-1.1.0.min.js"></script><script src"script.js&q…...
2024/4/20 16:55:50 - 双眼皮手术一个月不对称
...
2024/4/20 16:55:49 - ionic2 目录
首先 ionic2 暂时找不到中文文档。本人英语又很渣。无奈之下只能依赖于百度翻译。完全是已自己理解的方式运作 ,可能里面会有一些偏差之类的 不过我都测试过代码是可以跑通的 只不过讲解的部分可能。。。。毕竟英语只有20多分的人。有不对的地方可以指出 共同学习。…...
2024/4/20 12:44:57
最新文章
- MySQL商城数据表(60-69)
60系统上传资源表 DROP TABLE IF EXISTS xuge_resorces; CREATE TABLE xuge_resorces (resld int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,fromType tinyint(4) NOT NULL DEFAULT 0 COMMENT 来在哪( 0:商家/用户 1:平台管理者),dataId int(11) NOT…...
2024/4/28 11:54:25 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 第十二届蓝桥杯省赛真题(C/C++大学B组)
目录 #A 空间 #B 卡片 #C 直线 #D 货物摆放 #E 路径 #F 时间显示 #G 砝码称重 #H 杨辉三角形 #I 双向排序 #J 括号序列 #A 空间 #include <bits/stdc.h> using namespace std;int main() {cout<<256 * 1024 * 1024 / 4<<endl;return 0; } #B 卡片…...
2024/4/28 0:30:06 - 磁盘管理与文件管理
文章目录 一、磁盘结构二、MBR与磁盘分区分区的优势与缺点分区的方式文件系统分区工具挂载与解挂载 一、磁盘结构 1.硬盘结构 硬盘分类: 1.机械硬盘:靠磁头转动找数据 慢 便宜 2.固态硬盘:靠芯片去找数据 快 贵 硬盘的数据结构:…...
2024/4/23 6:16:19 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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