文章目录
本次Magic那边十万火急,需要人去救一下火。
所以我开始学习react-native和JavaScript。
因为之前没有写过相关内容,所以就简单的写一个快速入门的教程。
react-native 官方文档
1.配置环境
i) 基础环境
brew install yarn
brew install node
brew install watchman
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
ii)安装react-native
npm install -g react-native-cli
iii)确保在你的xcode中有Command Line Tools
xcode->preferences->Locations
2.创建第一个app并且运行
i)创建第一个app
通过以下命令创建一个名为myApp的 react-native App
react-native init myApp
或者可以通过以下命令创建指定版本的react-native app
react-native init myApp --version X.XX.X
react-native init myApp --version react-native@next
ii)运行你的第一个app
通过以下命令进入app文件夹并且运行
cd myApp
react-native run-ios
此时我踩了第一个坑
No bundle URL present
如果程序执行正常,应当显示左下图。
但是我的模拟器却显示:
No bundle URL present
问题的处理
网络中方法试了挺多,未果。
最后尝试关掉本地的代理,结果显示成功。
(仅仅只是被代理挡住了而已?)
iii)运行第一个程序“hello world”
打开app目录下的App.js文件,将其中的代码替换至以下代码并保存
import React, { Component } from 'react';
import { Text, View } from 'react-native';
export default class HelloWorldApp extends Component {
render() {
return (
<View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>
<Text>Hello, world!</Text>
</View>
);
}
}
模拟器就会显示出经典的“Hello World”
这时,我们的学习路程才刚刚开始。
3. 安装React Navigation
移动端开发怎么能没有navigation,然而react-native本身并不自带navigation。
但是好在我们可以通过配置React Navigation来获得navigationUI
终端在项目目录执行以下命令
最新版本中react-natigation
的组件遭到拆分,所以得分别再安装stack
和tabs
vector-icons
提供了许多简单好用的icon,所以也装上
npm i -g expo-cli
expo install react-navigation react-native-gesture-handler react-native-reanimated react-native-screens
yarn add react-navigation
npm install react-navigation-stack
npm install react-navigation-tabs
npm install react-native-vector-icons
然后进入ios目录下配置pod
cd ios
pod install
此时此刻react-navigation
就配置完了,现在我们再修改App.js文件进行测试
import React from 'react';
import { View, Text } from 'react-native';
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
class HomeScreen extends React.Component {
render() {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
</View>
);
}
}
const AppNavigator = createStackNavigator({
Home: {
screen: HomeScreen,
},
});
export default createAppContainer(AppNavigator);
若显示正常,恭喜你完成navigation的配置,我们会发现view中出现有导航栏,这就是完成配置的象征。
4. 安装Redux module
在复杂的项目中,我们需要用到Redux,所以在这里需要配置Redux相关的组件
终端在项目目录执行以下命令
npm install redux
npm install react-redux
npm install redux-thunk
这样子我们基本上就完成了项目的初期配置
如果有不确定的地方,可以进入项目目录下的package.json
查看自己安装的配置
那么接下来,我们做一个ToDo的小项目来跟进学习
2020年更新
现在不用安装 react-native-cli
如果以前已经安装了,使用下面命令删除。不然可能会有一些issue发生
npm uninstall -g react-native-cli
现在使用npx进行项目安装
npx react-native init AwesomeProject