react-nativeプロジェクトの新規作成およびルーティング構成
5109 ワード
木の経験のある初心者に捧げます.私が歩いた痛みをあなたが経験する必要がないことを望んで、私のすでにある幸福があなたが手に触れることができることを望みます.
まずnpmコンピュータを介してreact-natve-cli をグローバルにインストールする react-native init appname(appnameは新規作成するAPP名) プロジェクトが新規作成され、react-native run-ios--simulator'iPhone X'がシミュレータで実行されます.
npm install react-navigation --save npm install react-native-gesture-handler --save npm i react-native-vector-icons--save(後で下部ナビゲーションを構成する場合に使用) react-native link react-native-gesture-handler react-native link react-native-vector-icons
まずルートディレクトリの下にプロジェクトフォルダ を新規作成するプロジェクトフォルダの下に新しいnavigationフォルダを作成ページルーティング構成を保存する新しいpagesフォルダを作成ページファイル を保存する navigationフォルダの下にindexを新規作成します.jsファイル、書き込みルーティング構成、index.jsコードは以下の pagesフォルダの下に3つのjsファイルを新規作成 Login.js(本プロジェクトのトップページ)、コードは以下の PhoneLogin.js、コードは以下の index.jsコードは以下の
react-native run-ios--simulator'iPhone X'iPhone Xは任意の機種のアップル に交換できます
最初にreact-nativeに接触したとき、小さなルートは3日間も死んでいたと思います.当時、ネット上で配置を指導してくれるチュートリアルが見つかりませんでした.その時、会社に来たばかりで実習していたので、私たちは聞く勇気がありませんでした.時間が経つにつれて、知識が高まり、顔も厚くなり、おかず鳥として書くことができました.
一、プロジェクトの作成
インストール依存
二、ルート構成
インストール依存
リンク依存
三、コード
import React, { Component } from 'react'
import {
createStackNavigator,
createAppContainer,
createBottomTabNavigator,
} from 'react-navigation'
import Ionicons from 'react-native-vector-icons/Ionicons'
import {
Login,
PhoneLogin,
} from '../pages/index'
const SketchRouter = createStackNavigator(
{
Login: {
screen: Login,
navigationOptions: ({ navigation }) => ({
header: null
}),
},
PhoneLogin: {
screen: PhoneLogin,
navigationOptions: ({ navigation }) => ({
header: null
}),
},
},
{
headerBackTitleVisible: false,
}
)
export default createAppContainer(SketchRouter)
import React from "react";
import {
View,
Text,
StyleSheet,
StatusBar,
TouchableOpacity,
} from "react-native";
import { SafeAreaView } from "react-navigation";
import Images from "../images/index";
import { scaleSizeH, scaleSizeW } from "../size/index";
export default class Login extends React.Component {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return (
{this.props.navigation.navigate('PhoneLogin')}} style={styles.test}>
);
}
}
const styles = StyleSheet.create({
contaner: {
backgroundColor: "#fff",
flex: 1,
justifyContent:'center',
alignItems: 'center',
},
test:{
width: 150,
height: 150,
justifyContent:'center',
alignItems: 'center',
backgroundColor: '#0f0',
},
});
import React from "react";
import {
View,
Text,
StyleSheet,
StatusBar,
TouchableOpacity,
} from "react-native";
import { SafeAreaView } from "react-navigation";
import Images from "../images/index";
import { scaleSizeH, scaleSizeW } from "../size/index";
export default class PhoneLogin extends React.Component {
constructor(props) {
super(props);
this.state = {
};
}
render() {
return (
{this.props.navigation.navigate('Login')}} style={styles.test}>
);
}
}
const styles = StyleSheet.create({
contaner: {
backgroundColor: "#fff",
flex: 1,
justifyContent:'center',
alignItems: 'center',
},
test:{
width: 150,
height: 150,
justifyContent:'center',
alignItems: 'center',
backgroundColor: '#f00',
},
});
import Login from './Login'
import PhoneLogin from './PhoneLogin'
export {
Login,
PhoneLogin,
}
四、Appを修正する。jsファイル、コードは以下の通りです
import React, { Component } from 'react'
import { Platform, StyleSheet, } from 'react-native'
import SketchRouter from './project/navigation/index'
export default class App extends Component {
render () {
console.disableYellowBox = true
return (
)
}
}
const styles = StyleSheet.create({
container: {
width: 200,
height: 300,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
五、run起きろ!
最初にreact-nativeに接触したとき、小さなルートは3日間も死んでいたと思います.当時、ネット上で配置を指導してくれるチュートリアルが見つかりませんでした.その時、会社に来たばかりで実習していたので、私たちは聞く勇気がありませんでした.時間が経つにつれて、知識が高まり、顔も厚くなり、おかず鳥として書くことができました.