本次Magic那边十万火急,需要人去救一下火。
所以我开始学习react-native和JavaScript。
因为之前没有写过相关内容,所以就简单的写一个快速入门的教程。
react-native 官方文档
brew install yarn
brew install node
brew install watchman
brew tap AdoptOpenJDK/openjdk
brew cask install adoptopenjdk8
npm install -g react-native-cli
通过以下命令创建一个名为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
通过以下命令进入app文件夹并且运行
cd myApp
react-native run-ios
此时我踩了第一个坑
如果程序执行正常,应当显示左下图。
但是我的模拟器却显示:
No bundle URL present
网络中方法试了挺多,未果。
最后尝试关掉本地的代理,结果显示成功。
(仅仅只是被代理挡住了而已?)
打开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”
这时,我们的学习路程才刚刚开始。
移动端开发怎么能没有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中出现有导航栏,这就是完成配置的象征。
在复杂的项目中,我们需要用到Redux,所以在这里需要配置Redux相关的组件
终端在项目目录执行以下命令
npm install redux
npm install react-redux
npm install redux-thunk
这样子我们基本上就完成了项目的初期配置
如果有不确定的地方,可以进入项目目录下的package.json
查看自己安装的配置
那么接下来,我们做一个ToDo的小项目来跟进学习
如果以前已经安装了,使用下面命令删除。不然可能会有一些issue发生
npm uninstall -g react-native-cli
npx react-native init AwesomeProject