加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React Native系列(9)--常见问题汇总

发布时间:2020-12-15 08:22:37 所属栏目:百科 来源:网络整理
导读:1.创建新项目,react-native init AwesomeProject命令长时间无响应,或报错shasum check failed react-native命令行从npm官方源拖代码时会遇上麻烦。请将npm仓库源替换为国内镜像: npmconfig set registry https://registry.npm.taobao.org --global npmcon

1.创建新项目,react-native init AwesomeProject命令长时间无响应,或报错shasum check failed

react-native命令行从npm官方源拖代码时会遇上麻烦。请将npm仓库源替换为国内镜像:

npmconfig set registry https://registry.npm.taobao.org --global

npmconfig set disturl https://npm.taobao.org/dist --global

另,执行init时切记不要在前面加上sudo

2.报错:Invariant Violation:Application XXXX has not been registered

确保index.android.js中的AppRegistry.registerComponent('项目名',() => ...);

与MainActivity.java中的

mReactRootView.startReactApplication(mReactInstanceManager,"项目名",null);

都保持一致。

3.IDE选择问题

WebStorm,最新版对JSX、flowtype等语法支持均非常优秀,对于Android Studio熟悉的开发人员建议用WebStorm。

Sublime,插件系统非常强大,因此如果愿意折腾的话,是个非常不错的选择。

另外虽然主要的业务逻辑是使用js开发,但仍然要依赖于原生的编译/调试环境,所以你还需要同时运行Xcode(iOS)或Android Studio(android)等。

4. could not get batchedbridge,makesure your bundle is packaged correctly

可能是你将之前安装并配置好的apk应用从手机卸载掉,然后重新安装运行,这时候的dev settings 被重置了。

解决方案:运行React-native run-Android或引入到Android Studio中运行,然后摇动手机(Android端),重新配置好IP和端口号,reload

5.报错:Invariant Violation: Element type is invalid

在ES6语法中,require和export default不能直接配对使用。

所以,你要么把

varHello = require('./components/Hello');

改为import Hello from './components'

要么把export defaultReact.createClass({

改为module.exports =React.createClass({

二者选其一,配对使用。

6.对于调试时摇晃手机,页面一直显示Please wait… 浏览器调试插件也没反应情况

查看终端代码报错信息,这时的终端进度不显示100%,如下图所示,不要一直等待消耗时间,关掉终端,重启app重新start项目




7.对于替换项目中的图片,终端每次都显示如下图所示Log,好多地儿报乱码

可能是目前React Native还不是特别成熟,还是因为图片名字不换,但是图片本身更换了,会被识别错误。


关闭终端,杀掉app,重新来,目前网上没有查到有关说明,不知道有没有更加快捷的办法



8.利用Navigator集成页面跳转逻辑后不生效或者报错

可能是目前React Native还不是特别成熟,先尝试reload如果不生效关闭终端,重新start项目。



9.适配相关方法

letDimensions = require('Dimensions');

letPixelRatio = require('PixelRatio');

lettotalWidth = Dimensions.get('window').width;

lettotalHeight = Dimensions.get('window').height;

letpixRatio = PixelRatio.get();



10.修改8081默认端口号的两种方式

(1)启动项目时react-native start --port 8083

(2)手动修改项目下的node_modulesreact-nativelocal-cliserverserver.js下的方法server.js文件,如下图所示。




未完待续……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读