ReactNative开发的问题以及解决方案(持续更新)

因公司业务发展,决定将公司主要业务模块用ReactNative来开发,其他模块使用原生,于是我又重新开始了自己的ReactNative学习之路,此文记录在开发过程中遇到的问题。

1.ReactNative 真机上调试报错 could not connect to development server
原因:原先jsCodeLocation的地址是 http://localhost:8081/index.bundle?platform=ios&dev=true 。 localhost指向的不一定是本机的正确地址
解决方案:修改为 http://本机ip地址:8081/index.bundle?platform=ios&dev=true

  1. ReactNative iOS报错Module react does not exist in the Haste module map
    原因 react模块并没有正确的加进去
    解决方案 运行yarn add react

3。ReactNative 报错 Invariant Violation:Element type isinvalid expect a string
原因:类别导出时错误了
解决方案:
修改class YourApp extends Component {
修改后export default class YourApp extends Component<{}> {

4.「React Native」antdDesign 报错 Unrecognized font family 'antoutline'
原因:没有导入字体库
解决方案 react-native link @ant-design/icons-react-native
重新运行还是出现这个报错。就打开Xcode重新编译 因为运行在手机上的app 是并没有将字体库打包的原始版本。

5.ReactNative Realm数据库存储类型
参数类型有7种,bool,int,float,double,string,data,date
注意的点

其中 data 是 ArrayBuffer,具体是什么我还不太清楚,不过这个并不是数组的意思。
必填属性保存的时候不支持 null 或者 undefined,选填属性可以保存这两种类型的值,因此如果在赋值时有可能属于这些值时,应该先做好判断,否则会抛出异常
选填属性用 optional 或者在类型后给个 ? 来做表示

6.Realm的addlistener方法始终不起作用
原因:没有能正确调用更新插入的方法。看文档 之后修复

7.setstate之后 组件的状态不变更
原因。在组件propTypes中获取到外面传来的参数之后再次赋值给了state 其实数据依赖于外界 所以组件内部的state无法变更状态。

你可能感兴趣的