njafei's blog


  • 首页

  • 归档

  • 标签

  • 分类

  • 搜索

React-Native优化之PureComponent

发表于 2017-07-27 | 分类于 react-native
React15.3的发布中包含了PureComponent,这个类最重要的用法是为了优化React的性能,下面我们将看下它是如何优化的。 Component VS PureComponent首先要看Component的生命周期: 当props或者state改变的时候,会执行shouldComponentUpdate方法来判断是否需要重新render组建,我们平时在做页面的性能优化的时候,往往也是通 ...
阅读全文 »

react-native time定时器 防止内存泄露的注意点

发表于 2017-07-27 | 分类于 react-native
time是react-native提供的一个定时器,在实际使用中,经常会有使用不对,造成内存泄露的情况。很多React Native应用发生致命错误(闪退)是与计时器有关。具体来说,是在某个组件被卸载(unmount)之后,计时器却仍然在运行。 防止出问题的办法也很简单,在unmount的时候,增加卸载定时器的操作: 12345678910111213componentDidMount()  ...
阅读全文 »

listView和FlatList的flexGrow默认值为1

发表于 2017-07-26 | 分类于 React-Native
今天遇到了适配的问题,有个列表,需要自适应高度,按理说默认应该就是自适应的,但是在实际中发现,其会和另外一个视图1:1 ,然后就发现只有设置其flexGrow: 0的时候,它才会自动适配高度,说明它的flexGrow默认值为1. 看下具体的列子: 1234567891011121314151617181920212223242526272829303132333435363738394041424 ...
阅读全文 »

如何访问和修改一个对象的私有属性

发表于 2017-06-15 | 分类于 iOS
有两个思路: KVC runtime 先给出我们接下来要使用的类: 1234567891011121314@interface Person : NSObject@end@interface Person()@property (nonatomic, copy) NSString *name;@end@implementation Person@end KVCKVC是我比较推荐的,代码如下: ...
阅读全文 »

Error RawText ** must be wrapped in an explicit component 问题解决

发表于 2017-06-14 | 分类于 bugFix
今天忽然遇到一个页面崩溃,查到错误如下: 1Error: RawText "" must be wrapped in an explicit <Text> component. 查了代码,发现好久都没有动这块的代码了,所以非常疑惑。最后通过2分法不停地查哪里出了问题,最终查到了这个语句: 1234567return ( <View> ...
阅读全文 »

block

发表于 2017-06-13 | 分类于 iOS基础
其实使用block的时间也蛮久了,比如使用__block,weak防止循环引用,copy修饰等注意点也都知道,但是一直没有去看过官方的文档,仔细看下所有的点。今天就把官方文档撸一遍,深入了解下。 使用场景苹果在介绍block的使用场景时,是这么说的: You use a block when you want to create units of work (that is, code segm ...
阅读全文 »

os.system如何传参

发表于 2017-05-26 | 分类于 python
今天写脚本的时候,正好希望在python脚本中调用另外一个python脚本,就使用了os.system来实现这个功能(当然,还有很多的办法,而且每种方法满足的需求不都一样,有兴趣的读者可以谷歌下)。 但是我需要给这个调用里面传入一个参数,网上查了半天,感觉都不太清晰,就写了这篇,简单介绍下。 os.system的定义是这样的 1os.system("shell command argus ...
阅读全文 »

ES6之字符串拓展

发表于 2017-05-23 | 分类于 ES6
ES6中,还是对字符串做了很多的改进,尤其是函数方面,增加了很多个方法。但是核心的变动,其实只有两个: Unicode拓展 字符模板 Unicode拓展在讲ES6之间,我们先了解一些背景知识。 为什么会出现Unicode我们知道,计算机最底层其实只能识别‘0’和‘1’,就是yes或者no。但是人脑是非常高级的,我们见面会打招呼“您吃了没?”,这句话如果是想告知计算机的话,它肯定是听不懂的,最后 ...
阅读全文 »

react-native基类设计

发表于 2017-05-20 | 分类于 React-Native
背景前段时间发现iOS手机上,很多页面的字体样式会随着系统配置字体的大小而变换,使得界面不太美观。而这个其实只要给一个参数就可以解决,但是整个app中用该组件的地方非常多,开发挨个替换的话,工作量很大,而且很容易出现遗漏。 另外升级RN后,出现了Android手机上面的Text点击崩溃问题,底层的bug,前端需求的话,也是要花费相当精力而且容易遗漏。 那么,对于类似的问题,有没有好的解决方案呢? ...
阅读全文 »

Android上的RN不能展示尺寸大的图,怎么办?

发表于 2017-05-18 | 分类于 React-Native
背景最近遇到一个营销的需求,一个简单的界面,上面是一个计数器,下面是一张介绍图。所以下面直接用了Image标签来做。但是在测试中发现了一个问题,部分的Android手机上面展示不出来图片。使用Android studio检查了下log,发现了如下的错误: OpenGLRenderer: Bitmap too large to be uploaded into a texture (750x452 ...
阅读全文 »
12345
njafei

njafei

45 日志
20 分类
38 标签
RSS
© 2019 njafei
由 Hexo 强力驱动
主题 - NexT.Mist