59 lines
2.4 KiB
Markdown
59 lines
2.4 KiB
Markdown
---
|
||
title: React Native踩坑集锦
|
||
tags:
|
||
- 前端
|
||
- Javascript
|
||
- Typescript
|
||
- React Native
|
||
categories:
|
||
- - 前端
|
||
- React Native
|
||
keywords: 'react,react native,typescript,javascript,cocoapods'
|
||
date: 2021-06-30 06:32:14
|
||
---
|
||
|
||
React Native是一个利用前端技术实现的移动端框架,所以在开发环境构建和应用开发过程中,常常需要同时用到前端和移动端的技术,这也就导致了React Native在使用的时候也会同时踩前端和移动端的两重坑。这里对已经踩过的坑做一个记录,方便再碰上以后能跳过去。<!-- more -->
|
||
|
||
## 更换CocoaPods的镜像
|
||
|
||
在使用`react-native-cli`构建React Native应用的时候,会使用到用于iOS的CocoaPods框架,这个框架在不使用镜像的时候常常会导致应用的iOS部分创建失败。要解决这个问题,可以将CocoaPods的镜像改为清华Tuna镜像。
|
||
|
||
!!! caution ""
|
||
一般CocoaPods出问题最常见的提示就是:`[!] CocoaPods could not find compatible versions for pod`。
|
||
|
||
由于新版的React Native(0.60以上版本)使用的一般都是新版的CocoaPods,所以这里不再记录对于旧版CocoaPods切换镜像的操作了。
|
||
|
||
要切换CocoaPods的镜像,需要按顺序执行以下几条命令。
|
||
|
||
```bash
|
||
cd ~/.cocoapods/repos
|
||
pod repo remove master
|
||
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
|
||
```
|
||
|
||
然后再回到应用项目目录中的`ios`目录中执行`pod install --repo-update`。执行结束后,再将项目中的`Podfile`顶部添加以下一行内容。
|
||
|
||
```bash
|
||
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
|
||
```
|
||
|
||
即可完成CocoaPods镜像的切换。
|
||
|
||
## 连接原生依赖库
|
||
|
||
在React Native中有一些库是带有原生代码的,这些库除了需要使用`npm install`完成安装以外,还需要将原生代码连接进不同平台的应用中。
|
||
|
||
连接带有原生代码的库非常简单,只需要使用`react native link`命令。例如平时经常会使用的`react-native-safe-area-context`库和`react-native-vector-icons`库,在安装的时候就需要使用以下命令。
|
||
|
||
```bash
|
||
# 安装react-native-safe-area-context
|
||
npm install react-native-safe-area-context
|
||
npx react-native link react-native-safe-area-context
|
||
|
||
# 安装react-native-vector-icons
|
||
npm install react-native-vector-icons
|
||
npx react-native link react-native-vector-icons
|
||
```
|
||
|
||
完成连接以后,就可以在项目中正常的使用完成安装的库了。
|