react-native 问题总结

1、导航

Q:在使用Navigator的同时使用ListView或ScrollView,后两者的头部会多出一些空间。

A:将automaticallyAdjustContentInsets属性设为{false}.

2、子组件

Q:报错:Invariant Violation: onlyChild must be passed a children with exactly one child

A:一般是Touchable开头的几个组件,如果没有子元素或者指定多个并列子元素都会报错。

3、风格混用

Q:报错:Invariant Violation: Element type is invalid

A:如果是引入新组件时报的错,据@tdzl2003 解释:
从ReactNative 0.16起,babel升级到了6.x版本。
在babel6中,require和export default不能直接配对使用。
所以,你要么把

var Hello = require(‘./components/Hello’);
改为

import Hello from ‘./components’
要么把

export default React.createClass({
改为

module.exports = React.createClass({
二者选其一,配对使用。

4、组件查找

Q:如何读写文件?如何调用摄像头?如何调用麦克风?等等

A:对于官方没有提供的组件或API,请自行在js.coach或github中搜索第三方实现。如果搜不到相关结果,你只能考虑自己用原生代码实现后整合进来。

5、常见问题

http://bbs.reactnative.cn/topic/130/%E6%96%B0%E6%89%8B%E6%8F%90%E9%97%AE%E5%89%8D%E5%85%88%E6%9D%A5%E8%BF%99%E9%87%8C%E7%9C%8B%E7%9C%8B-react-native%E7%9A%84%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98

6、修改工程包名

https://segmentfault.com/q/1010000005609103

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...