时间2018.10.11
项目中使用到的包
npm install react-native-deprecated-custom-components --save //navigator
①rn版本 0.57.2初始化项目无法运行
解决办法: 是用老版本rn初始化代码
react-native init ProjectName --version 0.52.1
②WebSocket / libfishhook.a 链接文件未找到
通常编译报 Build input file cannot be found错误,说明该文件存放位置有问题,只需要移除之后,重新添加一下文件就可以编译通过。如下:
③third-party: 'config.h' file not found 解决方案
在终端中运行下面两行语句
cd node_modules/react-native/third-party/glog-0.3.4
../../scripts/ios-configure-glog.sh
④解决Mac上adb: command not found问题
打开mac的terminal终端,输入 cd ~/ 【进入当前用户的home目录】
输入 touch .bash_profile 【如果没有.bash_profile这个文件,则创建一个这个文件】
输入 open .bash_profile 【打开我们创建的这个文件,此时应该弹出一个文本编辑框,如果是第一次配置环境,那么文本编辑框为空白】
在打开的文本编辑器中写入如下代码:
export ANDROID_HOME=/usr/local/opt/android-sdk
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
注意4中的ANDROID_HOME应该根据自己的sdk路径来填写,其余可以直接复制。
至于sdk路径,可以打开Android Studio,在preference(Windows的setting)中搜索sdk来查看。
在终端中输入 source .bash_profile 【使我们的改动生效】
输入 adb 【验证是否完成配置,如果不显示 adb: command not found,说明配置完成 】
⑤.Cannot find module '@babel/runtime/helpers/builtin/interopRequireDefault'
7.0.0-beta.56版本有很大改变,改为使用7.0.0-beta.55解决,在package.json里面修改版本,然后使用meteor npm install命令重新安装模块,解决问题
⑥.react-native 0.44以后使用Navigator
npm install react-native-deprecated-custom-components --save
import Navigator from 'react-native-deprecated-custom-components';
//用到的地方使用
<Navigator.Navigator
initialRoute={{ name: defaultName, component: defaultComponent }}
configureScene={(route) => {
return Navigator.Navigator.SceneConfigs.VerticalDownSwipeJump;
}}
renderScene={(route, navigator) => {
let Component = route.component;
return <Component {...route.params} navigator={navigator} />
}} />
千万记得使用Navigator.Navigator,我一直直接使用<Navigator></Navigator>,总是报错,
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components)
but got: object.这表明没有找到Navigator组件,查了好半天才找到问题所在
或者使用这种方式:
import CustomerComponents, {Navigator} from 'react-native-deprecated-custom-components';
<Navigator></Navigator>
⑦.升级ReactNative后PropTypes报错(evaluating '_react2.PropTypes.string')
升级ReactNative后PropTypes报错(evaluating '_react2.PropTypes.string')
在ReactNative中,自定义组件用到PropTypes来定义属性的数据类型,
PropTypes的几种用法
React.PropTypes
import {PropTypes} from 'react';
import PropTypes from 'prop-types';
在ReactNative的Framework升级到0.50.3后,发现使用前两种方式已经不可以了。
React.PropTypes
import {PropTypes} from 'react';
这样的后果是出现的红屏错误
undefined is not an object(evaluating '_react2.PropTypes.string')
在依赖的node_modules中,看到了prop-types这个文件,并且使用
import PropTypes from 'prop-types';
确实也解决了上面的红屏错误。
在ReactNative的0.50.3中发现该问题,0.47.3之前版本没有这个问题,其他版本情况未知。