[译]迁移到新的 React Context Api

2018-06-23
阅读 4 分钟
2.1k
随着 React 16.3.0 的发布,context api 也有了很大的更新。我已经从旧版的 api 更新到了新版。这里就分享一下我(作者)的心得体会。

React-router v4教程

2018-05-24
阅读 7 分钟
6.1k
在这个教程里,我们会从一个例子React应用开始学习react-router-dom。其中你会学习如何使用Link、NavLink等来实现跳转,Switch和exact实现排他路由和浏览器路径历史。

ANTD mobile源码分析 -- popover

2018-03-04
阅读 5 分钟
2.7k
最近的开发中要用到很多的各式各样的组件。但是发现ant design mobile(后面简称ANTDM)里很多的资源。于是就分析一下,学习学习。

编写React组件的最佳实践

2018-03-03
阅读 10 分钟
2.3k
当我刚开始写React的时候,我看过很多写组件的方法。一百篇教程就有一百种写法。虽然React本身已经成熟了,但是如何使用它似乎还没有一个“正确”的方法。所以我(作者)把我们团队这些年来总结的使用React的经验总结在这里。希望这篇文字对你有用,不管你是初学者还是老手。

componentDidUpdate之后的绘制

2018-02-17
阅读 1 分钟
3.6k
componentDidUpdate是更新版的componentDidMount方法。在这里可以处理本地的UI元素,可以操作refs,有需要的话也可以开启另外一个绘制过程。

React 16.3(.0-alpha)新特性

2018-02-09
阅读 4 分钟
6.1k
Context API总是很让人迷惑。这个API是官方的,但是官方又不希望开发者们使用这个API,说是这个API会在以后发生改变。现在就是那个改变的时刻。新的API已经被merge了。而且它看起来更加的“用户友好”了。尤其是你不得不使用redux、mobx的时候,可以选择新的Context API实现更加简单的状态管理。

JavaScript的this和作用域

2018-01-20
阅读 3 分钟
3.2k
第一种作用域叫做全局作用域(Global Scope)这很容易定义,如果一个方法、变量是全局作用域的,那么它就可以从任何的地方访问到。在浏览器里,全局作用域就是window对象。所以,如果你的代码里有:

一步一步带你实现virtual dom(一)

2017-11-25
阅读 6 分钟
2.8k
要写你自己的虚拟DOM,有两件事你必须知道。你甚至都不用翻看React的源代码,或者其他的基于虚拟DOM的代码。他们代码量都太大,太复杂。然而要实现一个虚拟DOM的主要部分只需要大约50行的代码。50行代码!!

一步一步带你实现virtual dom(二) Props和事件

2017-11-25
阅读 6 分钟
1.5k
一步一步带你实现virtual dom(一)一步一步带你实现virtual dom(二)--Props和事件 很高兴我们可以继续分享编写虚拟DOM的知识。这次我们要讲解的是产品级的内容,其中包括:设置和DOM一致性、以及事件的处理。 使用Babel 在继续之前,我们需要弥补前一篇文章中没有详细讲解的内容。假设有一个没有任何属性(props)的节...

Redux:从action到saga

2017-11-20
阅读 3 分钟
2.7k
前端应用消失的部分 一个现代的、使用了redux的前端应用架构可以这样描述: 一个存储了应用不可变状态(state)的store 状态(state)可以被绘制在组件里(html或者其他的东西)。这个绘制方法通常是简单而且可测试的(并不总是如此)纯方法。 {代码...} 组件可以给store分发action 使用reducer这种纯方法来根据就的状态...

初识Redux-Saga

2017-11-18
阅读 4 分钟
2k
Redus-saga是一个redux的中间件,主要用来简便而优雅的处理redux应用里的副作用(side effect相对于pure function这类概念而言的)。它之所以可以做到这一点主要是使用了ES6里的一个语法:Generator。使用Generator可以像写同步的代码一样编写异步代码,这样更加容易测试。

React Native填坑之旅 -- FlatList

2017-11-12
阅读 6 分钟
8.6k
在React Native里有很多种方法来创建可滚动的list。比如,ScrollView和ListView。他们都各有优缺点。但是在React Native 0.43里增加了两种行的list view。一个是FlatList, 一个是SectionList。今天我们就来详细了解一下FlatList。

用Kotlin写一个Spring Boot微服务

2017-11-11
阅读 8 分钟
6.1k
Spring太复杂了,配置这个东西简直就是浪费生命。尤其在没有什么并发压力,随便搞一个RESTful服务让整个业务跑起来先的情况下,更是么有必要纠结在一堆的XML配置上。显然这么想的人是很多的,于是就有了Spring Boot。又由于Java 8太墨迹于是有了Kotlin。

React Native填坑之旅 -- 使用react-navigation代替Navigator

2017-11-07
阅读 5 分钟
10.8k
Navigator已经被React Native废弃了。也许你可以在另外的一个依赖库里react-native-deprecated-custom-components里找到。不过既然官方推荐的是react-navigation那我们就来看看这个东西到底有什么好的,值不值得用。

iOS的异步绘制--YYAsyncLayer源码分析

2017-10-15
阅读 7 分钟
5.6k
最近看了YYAsyncLayer在这里总结一下。YYAsyncLayer是整个YYKit异步渲染的基础。整个项目的Github地址在这里。你可以先下载了一睹为快,也可以跟着我一步一步的了解它是怎么实现异步绘制的。

理解Javascript方法的调用和“this”

2017-08-31
阅读 3 分钟
1.3k
在我(作者)看来,只要弄清楚了方法的本质,上面的以后自然清晰。事实上,这也是ECMAScript说明的作用。在某种意义上这篇文章是说明文档的简写版,但是核心内容是一致的。

深入Android RxJava 2

2017-05-21
阅读 15 分钟
3.4k
下一个版本(2.0)的RxJava还在开发中。虽然observable、订阅管理和背压(backpressure)都完全重写了,但是operator基本没有任何的变化。在本文中你将学到如何让你的库和应用迁移到RxJava 2上,以及如何处理RxJava的两个版本。

Golang里的Future/Promise

2017-04-09
阅读 3 分钟
4.9k
现如今,应用执行时最普遍存在的瓶颈就是网络请求了。网络请求只要几毫秒,但是等到返回却要百倍的时间。所以,如果你执行多个网络请求,让他们都并行执行就是减少延迟最好的选择了。Future/Promise就是实现这一目的的手段之一。

React Native填坑之旅--与Android模块通信

2017-03-19
阅读 5 分钟
4.4k
使用Toast作为例子。实现的功能是可以在JavaScript里写ToastAndroid.show('Awesome', ToastAndroid.SHORT)来显示一个Toast通知。

创建Android自定义视图

2017-03-14
阅读 4 分钟
2k
Android里定义的所有视图类都是继承自View的。你的自定义视图也可以直接继承View,但是这样的话就需要自己实现很多已经在Android SDK里实现好的代码。时间很宝贵,所以还是在别人实现好的基础上来实现我们需要的部分是最合适的,比如我们要改造一个按钮就直接继承Button好了。不过作为讲解我们继承View来实现一个简单的...

OkHttp3几个简单的例子和在子线程更新UI线程的方法

2017-03-12
阅读 7 分钟
4.5k
okHttp用于android的http请求。据说很厉害,我们来一起尝尝鲜。但是使用okHttp也会有一些小坑,后面会讲到如何掉进坑里并爬出来。

打造Redux中间件

2017-03-01
阅读 2 分钟
2.1k
store => next => action =>看起来很复杂有木有。基本上你是在写一个一层一层往外返回的方法,调用的时候是这样的:

React Native填坑之旅 -- 使用iOS原生视图(高德地图)

2017-02-27
阅读 5 分钟
5.7k
在开发React Native的App的时候,你会遇到很多情况是原生的视图组件已经开发好了的。有的是系统的SDK提供的,有的是第三方试图组件,总之你的APP可以直接使用的原生视图是很多的。React Native提供了一套完善的机制,你可以非常简单的用来包装已有的原生视图。

React Native桥接器初探

2017-02-25
阅读 6 分钟
4.2k
本文假设你已经有一定的React Native基础,并且想要了解React Native的JS和原生代码之间是如何交互的。 React Native的工作线程 shadow queue:布局在这个线程工作 main thread:UIKit在这里工作 Javascript thread:Js代码在这里工作 另外每一个原生模块都有自己的一个工作GCD queue,除非你明确指定它的工作队列 {代码...

React Component vs React Element

2017-02-22
阅读 5 分钟
3k
有答“组件声明”的,有答“组件调用的”,有“组件初始化”的,还有“使用一个组件”的。没有一个统一的称呼。造成这样局面的原因是很多时候我们都没有去详细的了解过JSX和React实际操作之间的抽象层。现在我们就深入研究一下这部分知识。

理解React组件的生命周期

2017-02-15
阅读 2 分钟
3.7k
本文作者写作的时间较早,所以里面会出现很多的旧版ES5的时代的方法。不过,虽然如此并不影响读者理解组件的生命周期。反而是作者分为几种不同的触发机制来解释生命周期的各个方法,让读者更加容易理解涉及到的概念。以下是正文。

GraphQL入门

2017-01-29
阅读 8 分钟
2.6k
GraphQL是一个查询语言,由Facebook开发,用于替换RESTful API。服务端可以用任何的语言实现。具体的你可以查看Facebook关于GraphQL的文档和各种语言的实现

如何在NodeJS项目中优雅的使用ES6

2017-01-19
阅读 7 分钟
11.4k
NodeJs最近的版本都开始支持ES6(ES2015)的新特性了,设置已经支持了async/await这样的更高级的特性。只是在使用的时候需要在node后面加上参数:--harmony。但是,即使如此node也还是没有支持全部的ES6特性。所以这个时候就需要用到Babel了。

Fetch API

2017-01-15
阅读 5 分钟
2.5k
一个隐藏最深的秘密就是AJAX的实现底层的XMLHttpRequest,这个方法本来并不是造出来干这事的。现在有很多优雅的API包装XHR,但是这远远不够。于是有了fetch API。我们来看看这个API的基本用法。最新的浏览器都已经支持这个方法了。

GraphQL与认证

2017-01-03
阅读 3 分钟
4.6k
很多人会问GraphQL怎么认证和授权。最终的答案是GraphQL只是一个查询语言和认证之类的没什么关系,每一个应用都可以有自己的实现方法。但是,我们还是来深入聊聊这个问题。