专栏名称: 前端微志
围绕前端,以JavaScript为基础的技术为主,也会涉及到一些后端技术。 会定期推送高级和资深工程师的原创文章和技术翻译文章等。
目录
相关文章推荐
前端大全  ·  AI 正在培养一代 “文盲程序员” ·  2 天前  
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄? ·  昨天  
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄? ·  昨天  
龙视新闻联播  ·  龙江最美飘雪时|早春升温日 赏冰乐雪时 ·  2 天前  
宝山消防支队  ·  以案为例 |《油锅起火怎么办?》 ·  2 天前  
前端早读课  ·  【第3459期】两款 AI 编程助手 ... ·  3 天前  
51好读  ›  专栏  ›  前端微志

#4 【TinyShare】“网站无障碍”介绍;web前端之Kotlin;在React 16.6中使用组件的懒加载

前端微志  · 公众号  · 前端  · 2018-10-31 22:22

正文

TinyShare 是一个英文前端技术文章分享博客网站: 1.推荐的文章,都是我(目前是我一个人)自己仔细阅读过,从中挑选出的优秀的前端相关的文章,绝不为了应付而胡乱推荐; 2.网站会尽量简洁,更多地专注于内容。推荐的文章中,很多都是英文文章,我没有精力每天都去翻译这些文章(我每天也有很多工作要做),所以建议大家直接阅读英文文章,也是一种锻炼。 3.每次推送五篇文章,不多也不少,坚持每天推送。 4.点击文末左下角“ 查看原文 ”,查看分享的文章原文。 5.更多分享,欢迎访问: https://tinyshare.cn


·  ·  ·

“网站无障碍”介绍




你对“网站无障碍”了解多少?是不是觉得只有残疾人士才需要网站无障碍的功能支持?


文中阐述,网络无障碍是影响所有用户的,很多通用特殊场景下都会需要网络无障碍:

1. 老年人;

2. 医疗慢性病,比如关节炎;

3. 户外严重眩光;

4. 药物性认识损伤或睡眠不足;

5. 网站适配多个设备;

6. WiFi信号差影响资源加载;


网站无障碍的四个关键点:

1. 可感知。可感知意味着不管什么特殊场景下,都不影响用户阅读,观看或者聆听网站的内容这个特性,涵盖网页上的排版、图片、音频和视频。

2. 可运行。可运行意味着,不管什么特殊场景下,都不影响用户查看所有的页面,也不影响填充表单。这个特性,一般包含接口和导航、键盘导航以及渐进式增强等。

3. 易懂性。易懂表示不管在什么特殊场景下,都不影响用户理解网站预期的目的。这个特性需要网站简单且明确、避免假设。

4. 健壮性。健壮性表示不管在任何特殊场景下,用户都可以在大量的设备上运行。语义化加成包含语义化标签、使用aria标签、有逻辑的DOM元素排序、服务器端渲染以及自适应设计。


文中还介绍了如何测试网站无障碍,希望这篇文章对你有所启发,让你对网络无障碍有更好的理解。

·  ·  ·

在React 16.6中使用组件的懒加载


在React 16.6之前的版本中,要想实现React项目的代码分割和组件的懒加载,需要借助于ES6、Babel和Webpack或Browserify等工具来做代码分割,或者使用Webpack、react-loadable插件来实现组件的懒加载。


现在,从React 16.6版本开始,不需要借助外部工具,就可以实现组件的懒加载,这里要介绍16.6版本中新引入的两个特性: React.lazy() React.Suspense


React.lazy() 使得创建一个动态import且懒加载的组件非常容易,使得组件真正需要渲染的时候才会被引入。它将一个函数当做参数,这个函数必须返回一个通过import加载组件的Promise对象。下图是示例。




React.Suspense 是一个高阶组件,它用来包裹着由React.lazy() 创建的组件,且可以将多个不同层次级别的React.lazy()组件包裹在一个Suspense组件内。而且,Suspense组件还有一个 fallback 属性接受一个React元素,用来作为懒加载组件被加载过程中的占位符(比如:loading提示)。示例见下图。




作者在文中,通过一个简单的示例,很清楚地讲解了如何使用React.lazy()和React.Suspense来创建基于React-Router的多路由懒加载组件。代码如下图。




希望这篇文章能够给你启发,让你更好地理解React.lazy() 和React.Suspense,要使用这些新特性,就赶紧将你的React版本更新到16.6吧。

·  ·  ·

为什么说React的新Hooks API是游戏改变者


React Hooks是一个很受争议的API,自从alpha版发布以来,有支持者,也有反对者,支持的人觉得它很好,很大程度上改变了React的开发模式,反对的人对这个API很抵制,表现出很多负面的情绪。


作者从React最初ES5语法里的 mixins ,到ES6的class语法里完全抛弃 mixins ,以及高阶组件来解决跨组件传递数据的方案。列出了一些高阶组件的问题:

1. 配置很复杂;

2. 不容易区分数据是来自于高阶组件,还是被传递过来的数据;

3. 高阶组件包围着组件,且组件是依赖于高阶组件的。如果组件依赖于高阶组件的数据,要移除高阶组件,这个组件就不能正常运行;


React Hooks是为了解决高阶组件和render props过期的问题,它可以让你使用state来驱动公用的行为,而且:

1. 提供一种方法来state管理的驱动,可以轻易地跟随state所定义的地方;

2. 无感知props。向JSX组件内传递的就是你用props中取到的;

3. 让JSX简单化,将关注点更多地放在组件的渲染上,减少行为上的关注;


当然,这个心API也有缺点,就是在组件被渲染之后,hooks函数必须在函数式组件级别上运行,所以如果你的函数式组件内有块级作用域或循环是不能调用hooks函数的。


希望这篇文章能给你启发,让你更好地理解React Hooks。

·  ·  ·

维护CSS代码的关键:排序(order)


CSS作为软件开发中的二等公民,它被设计用来显示内容并设定样式排版。然而开发者们经常会为了一堆杂乱的CSS代码头疼,维护这种CSS代码的时候,有时候不知道如何下手,生怕改一个属性就会引起不知道的bug。


文中讲述了一种写出可维护的CSS代码的方法,就是为CSS属性进行排序。作者排序的规则是对CSS属性进行分类,按照分类进行编写CSS代码,可以使得代码更加整洁易懂。示例如下图:







请到「今天看啥」查看全文


推荐文章
前端大全  ·  AI 正在培养一代 “文盲程序员”
2 天前
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄?
昨天
广东攻城狮户外  ·  DeepSeek加持下,中国十杰碾压美股七雄?
昨天
龙视新闻联播  ·  龙江最美飘雪时|早春升温日 赏冰乐雪时
2 天前
宝山消防支队  ·  以案为例 |《油锅起火怎么办?》
2 天前
冯站长之家  ·  2016年12月24日医疗晨报(语音版)
8 年前
又有好物推荐  ·  用拼贴艺术做成的马赛克吊坠,竟如此美
7 年前
观察者网  ·  中国电影还有这种传承,有意思
7 年前
机器学习研究会  ·  入行AI最需要的五大技能
7 年前