首页 文章 精选 留言 我的

精选列表

搜索[官方],共10000篇文章
优秀的个人博客,低调大师

React v17.0 RC 释出,官方称“没啥新特色”

React 前一个主要版本的发布是在两年半以前,今天我们(2020年8月10日)发布 v17 RC:没有什么新 Feature!(但笔者认为以下改进和优化还是很为 React 开发者着想的) 渐进式升级:同时使用两个 React 版本 从 React 15 升级到 v16 再到 v17,开发者往往要更新整个 APP 后再统一部署,这种体验对开发者很不友好,周期长甚至带来巨坑。从 React 17 开始,当你升级到 v18 甚至未来的更高版本时,你会有更多的选择: 可以像以前一样将整个 codebase 的 React 一次性全部升级,或者; APP 的一部分升级到 v18 其它部分仍然用 v17 跑,直到整个 APP 完成更新。 在大项目的维护和升级过程中,这一特性尤其重要!想想一下,如果在一个拥有成百上千个组件的项目中,只想升级其中的几个组件到 v18 使用最新的特性,怎么办?所以,为了适应这一场景 v17 作为一个主要版本,将会有一些 breaking changes。渐进式升级是如何运作的,可以运行这个 Demo 看一下 https://github.com/reactjs/react-gradual-upgrade-demo/ 事件代理的改变 在 React 16 和之前版本,多数事件使用 document.addEventListener()。在 v17 中,将使用rootNode.addEventListener() 在 React 17 中 event propagation 默认是停止的!需要添加第三个参数 { capture: true } 到 document.addEventListener 来修正这一问题。 document.addEventListener('click', function() { // Now this event handler uses the capture phase, // so it receives *all* click events below! }, { capture: true }); 其它 Breaking Changes 向浏览器靠齐 事件 onScroll 不再冒泡 React 的 onFocus 和 onBlur 在底层使用原生的 focusin 和 focusout Capture phase 事件使用真正的浏览器 capture phase 监听 不再有 Event Pooling React 17 中移除了“事件池”优化方案,因为在现代浏览器中性能未能提高多少。 function handleChange(e) { setData(data => ({ ...data, // This crashes in React 16 and earlier: text: e.target.value })); } 添加 Effect Cleanup Timing 在 React 17 中 useEffect 的清除函数选择更一致的时机执行,且是异步的。比如:如果组件正在卸载,清除的动作将在屏幕更新后执行。 useEffect(() => { // This is the effect itself. return () => { // This is its cleanup. }; }); 统一返回 undefined 的错误信息 React 17 修正了 forwardRef 和 memo 组件忘记 return 时不报错的问题 let Button = forwardRef(() => { // We forgot to write return, so this component returns undefined. // React 17 surfaces this as an error instead of ignoring it. <button />; }); let Button = memo(() => { // We forgot to write return, so this component returns undefined. // React 17 surfaces this as an error instead of ignoring it. <button />; }); 原生的 Component Stacks 移除私有的 Exports 编译者按:也许你还未来得及熟练使用 React 的 hooks,新版 v17 又来了。是学起来,还是那句老话“学不动了”丢一边? 更新说明:https://reactjs.org/blog/2020/08/10/react-v17-rc.html

优秀的个人博客,低调大师

【最佳实践】esrally:Elasticsearch 官方压测工具及运用详解

作者介绍 魏彬,普翔科技 CTO,开源软件爱好者,中国第一位 Elastic 认证工程师,《Elastic日报》和 《ElasticTalk》社区项目发起人,被 elastic 中国公司授予 2019 年度合作伙伴架构师特别贡献奖。对 Elasticsearch、Kibana、Beats、Logstash、Grafana 等开源软件有丰富的实践经验,为零售、金融、保险、证券、科技等众多行业的客户提供过咨询和培训服务,帮助客户在实际业务中找准开源软件的定位,实现从 0 到 1 的落地、从 1 到 N 的拓展,产生实际的业务价值。 为什么要压测 关于压测,我们先来看下百度百科上的一个定义。 压测,即压力测试,是确立系统稳定性的一种测试方法,通常在系统正常运作范围之外进行,以考察其功能极限和隐患。 从定义不难看出压测的目的,是要测出一个系统的极限

优秀的个人博客,低调大师

官方实锤!微软宣布以 75 亿美元收购 GitHub

就在刚刚,微软发文宣布,以 75 亿美元的微软股票收购代码托管平台 GitHub ,收购协议已达成,根据流程,收购预计将于今年年底前完成。此次收购也是微软首席执行官 Satya Nadella 上任以来继两年前斥资 262 亿美元收购领英后的第二大规模收购。 微软预计,在经过调整的基础上,本次收购将会提升 2020 财年的营业利润。 在文中,微软表示开发者是这个新时代的创建者,他们为世界编写代码,而 GitHub 是他们的“家”,在上面,每位开发者都可以共同创建、协作、共享代码并相互为彼此贡献力量。 目前已有超过 2800 万的开发者在 GitHub 上进行协作开发,并托管了超过 8500 万个代码库。微软是一家以开发者为中心的公司,构建技术与他人共享是其使命和核心价值观。GitHub作为开发者学习、共享和成长的基地,也正是微软的“目的地”。 完成收购后,GitHub 将仍然是一个开放平台,并保留其开发者优先的风格,独立运营。 微软副总裁、Xamarin 创始人 Nat Friedman 将会担任 CEO 一职,GitHub 现任 CEO Chris Wanstrath 则将担任微软的技术院士。 左起:GitHub 首席执行官兼联合创始人 Chris Wanstrath;微软公司负责开发者服务的副总裁 Nat Friedman;微软首席执行官 Satya Nadella;微软首席财务官 Amy Hood

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册