Results 7 issues of le0zh

When `fetch(devIconsUrl)` failed, the default state `devIconOptions` is not `Array`. And `ErrorBoundary` will be triggered when try to type some keywords to filter the `IconSelect`.

书籍: https://www.gitbook.com/read/book/yoyoyohamapi/undersercore-analysis 下载后,html文件名中存在空格,本地webView加载失败,显示空白。

### 处理epub格式文件不存在的情况 有的电子书不提供epub格式下载,这时候点击下载按钮会没有反应。

## `mapStateToProps` ``` (state, ownProps?) => Object | Function ``` ### 概况 如果指定了 `mapStateToProps`,那么被包裹的组件就会订阅 Redux Store 的更新,就是说每次 store 更新后, `mapStateToProps` 就会被调用。该方法的结果必须是个普通对象,这个对象将会被合并到被包裹组件的属性中。如果不想订阅 store 的更新,必须要在需要指定 `mapStateToProps` 的地方传一个 null 或者 undefined。 ### 参数...

笔记

## 使用vscode打造现代化的RN开发环境 本文记录如何使用vscode打造一个现代化的RN开发环境,旨在提高开发效率和质量。 ### 问题 1. 代码没有提示: 许多刚接触RN开发的非前端同学,都会问“哪个编辑器有智能提示?”。。。而对于前端同学来说,现在的日子已经好很多了,要什么自行车。 2. 低级代码错误: 这里的错误是指类似拼写错误,符号错误等。写完代码,跑起来各种报错,有时候费死劲的找,最后发现是个中文的分号问题。 ### 解决办法 可选的方案大概有: 1. 使用typescript: 直接使用有静态类型支持的js版本,but要再学习一套语法,而且我的代码都是ts写的,但很多好的公共库不是啊。 2. 使用flow: 由于网络的原因,这个环境真的难配,同时也是要学习一些新的语法。 我们的选择:vscode + typings + eslint - vscode: 宇宙最强IDE家族的最新产品 - typings:...

react-native
tools

## RN项目工程化之共享的eslint config ### Lint 使用Lint对代码进行静态检查已经是前端工程化的标配了。 使用Lint,主要可以解决下面两个问题: 1. 代码格式(用分号?不用分号?2个空格?3个空格?Tab? 个人喜好无所谓,在团队项目中,还是统一比较好) 2. 为声明变量错误(是的,简单的类型检查,使用了未声明的变量是会被发现的) ### 背景 我们采用了比较流行的ESLint,然后在项目中根据实际情况,在airbnb共享的规则基础上做了定制化。 有新项目了,就把配置文件拷贝一份,又有新项目了,再拷贝一份 and so on. 一开始没什么问题,当项目进度没那么紧张了,我们开始还之前留下的技术债。 对于eslint,之前关闭的规则,是不是可以考虑打开(追求高了:)) ok,说做就做,but, 没修改一个规则就得同步到其他项目中,是不是很烦。 时间长了,各个项目原来是一样的规则,慢慢差异大了,差异大了也懒得维护了。形成了恶性循环。 **能不能多项目之间共享eslint配置文件呢?** 答案当然是可以的,想想airbnb共享的规则,其实就是共享的规则,只不过我们在一开始,没有这个需求,也没有眼光高到一开始就认识到这点。 下面我们看如何共享。 ### 共享eslint config...

react-native
tools

## React and Flow React应用通常由嵌套的组件构成。随着应用的迭代,这些组件树和他们之间的依赖将会变得越来越复杂。 Flow的静态分析,能通过追踪检测`props`和`state`的类型,保证基于React构建的大型应用的安全性。 Flow能够理解什么样的`props`是合法的,并支持默认属性。 定义React组件有三种方法: - `React.createClass`工厂方法 - `React.Component`子类 - 无状态的函数式组件 本文将讲述使用上面的三类方法时,如何定义强类型的组件,同时还会包括一个高阶组件(HOC)的例子。 ### 使用React.createClass方法定义组件 React本身提供了`PropTypes`,用来验证给组件提供的属性是否争取。但是,和Flow的静态分析不一样,`PropTypes`仅仅在**运行时检查**。 如果我们的测试用例没有覆盖到代码的所有路径,则可能遗漏一些程序中的类型错误。 FLow内置了对`PropTypes`的支持。当Flow看到使用`createClass`方法创建的组件指定了`PropTypes`时,能够静态的检查验证组件使用了正确的属性类型。 比如: ```javascript const Greeter = React.createClass({ propTypes: { name: React.PropTypes.string.isRequired,...

tools