React Native 项目过程问题

一、Debug时在Chrome显示“Cached Bundles”

这个问题是由于浏览器缓存问题引起的,只需要在Chrome清除缓存


二、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())。

  • ::this.handleChange()。(请将方法的bind一律置于constructor)

  • this.handleChange.bind(this,id)

  • 复杂的页面不要在一个组件里面写完。

  • 请尽量使用const element

  • map里面添加key,并且key不要使用index(可变的)。具体可参考使用Perf工具研究React Key对渲染的影响

  • 尽量少用setTimeOut或不可控的refs、DOM操作。

  • propsstate的数据尽可能简单明了,扁平化。

  • 使用return null而不是CSS的display:none来控制节点的显示隐藏。保证同一时间页面的DOM节点尽可能的少

五、CSS样式兼容问题

borderBottomColor

六、scrollTo Android 不生效

涉及到ScrollView、ListView等,会遇到srollTo方法不工作,首先要检查一下布局,它的容器和本身不要用‘absolute’布局

七、结语

后面会继续补充进来,如有补充大家可以私信我。

你可能感兴趣的:(React Native 项目过程问题)