React Native - Router
W tym rozdziale zrozumiemy nawigację w React Native.
Krok 1: Zainstaluj router
Na początek musimy zainstalować Router. W tym rozdziale użyjemy strumienia routera React Native. Możesz uruchomić następujące polecenie w terminalu, z folderu projektu.
npm i react-native-router-flux --save
Krok 2: Cała aplikacja
Ponieważ chcemy, aby nasz router obsługiwał całą aplikację, dodamy go index.ios.js. W przypadku Androida możesz zrobić to samo windex.android.js.
App.js
import React, { Component } from 'react';
import { AppRegistry, View } from 'react-native';
import Routes from './Routes.js'
class reactTutorialApp extends Component {
render() {
return (
<Routes />
)
}
}
export default reactTutorialApp
AppRegistry.registerComponent('reactTutorialApp', () => reactTutorialApp)
Krok 3: Dodaj router
Teraz utworzymy Routesw folderze komponentów. To wróciRouterz kilkoma scenami. Każda scena będzie potrzebowaćkey, component i title. Router używa właściwości key do przełączania się między scenami, komponent zostanie wyrenderowany na ekranie, a tytuł zostanie wyświetlony na pasku nawigacji. Możemy również ustawićinitial do sceny, która ma być początkowo renderowana.
Routes.js
import React from 'react'
import { Router, Scene } from 'react-native-router-flux'
import Home from './Home.js'
import About from './About.js'
const Routes = () => (
<Router>
<Scene key = "root">
<Scene key = "home" component = {Home} title = "Home" initial = {true} />
<Scene key = "about" component = {About} title = "About" />
</Scene>
</Router>
)
export default Routes
Krok 4: Utwórz komponenty
Mamy już Homekomponent z poprzednich rozdziałów; teraz musimy dodaćAboutskładnik. DodamygoToAbout i goToHome funkcje do przełączania między scenami.
Home.js
import React from 'react'
import { TouchableOpacity, Text } from 'react-native';
import { Actions } from 'react-native-router-flux';
const Home = () => {
const goToAbout = () => {
Actions.about()
}
return (
<TouchableOpacity style = {{ margin: 128 }} onPress = {goToAbout}>
<Text>This is HOME!</Text>
</TouchableOpacity>
)
}
export default Home
About.js
import React from 'react'
import { TouchableOpacity, Text } from 'react-native'
import { Actions } from 'react-native-router-flux'
const About = () => {
const goToHome = () => {
Actions.home()
}
return (
<TouchableOpacity style = {{ margin: 128 }} onPress = {goToHome}>
<Text>This is ABOUT</Text>
</TouchableOpacity>
)
}
export default About
Aplikacja wyrenderuje plik początkowy Home ekran.
Możesz nacisnąć przycisk, aby przejść do ekranu informacji. Pojawi się strzałka wstecz; możesz go użyć, aby wrócić do poprzedniego ekranu.