一、Debug时在Chrome显示“Cached Bundles”
这个问题是由于浏览器缓存问题引起的,只需要在Chrome清除缓存
WX20180510-111829@2x.png
二、Debug时Realm报出“Failed to load create_session”
IMG_0042.PNG这个问题是跨域请求引起的,有两种解决方式
1、在Chrome退出的情况下直接在终端输入
open -a Google\ Chrome --args --disable-web-security --user-data-dir
2、给Chrome下载插件“Allow-Control-Allow-Origin: *”
下载链接在这,记得要翻墙https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related
三、webview不支持Basic Authentication
1、https://github.com/facebook/react-native/issues/19200
四、性能注意点
-
{...this.props}
(不要滥用,请只传递component需要的props,传得太多,或者层次传得太深,都会加重shouldComponentUpdate里面的数据比较负担,因此,请慎用spread attributes(<Component {...props} />))。 -
::this.handleChange()
。(请将方法的bind一律置于constructor) -
this.handleChange.bind(this,id)
-
复杂的页面不要在一个组件里面写完。
-
请尽量使用
const element
。 -
map里面添加key,并且key不要使用index(可变的)。具体可参考使用Perf工具研究React Key对渲染的影响
-
尽量少用
setTimeOut
或不可控的refs、DOM操作。 -
props
和state
的数据尽可能简单明了,扁平化。 -
使用
return null
而不是CSS的display:none
来控制节点的显示隐藏。保证同一时间页面的DOM节点尽可能的少
五、CSS样式兼容问题
borderBottomColor
六、scrollTo Android 不生效
涉及到ScrollView、ListView等,会遇到srollTo方法不工作,首先要检查一下布局,它的容器和本身不要用‘absolute’布局
七、结语
后面会继续补充进来,如有补充大家可以私信我。
网友评论