React-Nativeのルーティング使用
7740 ワード
React-Native
のルーティング使用シーントップページや他のページでは、携帯電話のタオバオのように、商品ごとに商品の詳細が存在します.江寧区をクリックすると別のページに切り替わります.ここでの応用はルートで実現されています.以下、
React
のルートの使用について簡単に説明します.React-Native
ルーティング使用手順npm i react-native-router-flux --save
//
//Router: vue HashRouter
//Stack: , ,
//Scene: , vue Route
import{Router, Stack, Scene} from 'react-native-router-flux'
映画コンサルティングの「映画リスト」や「映画詳細」など、クリックして入ったページにリンクするルーティングコンポーネントをインポートします.
import MovieList from "./components/Movie/MovieList"; //
import MovieDetail from "./components/Movie/MovieDetail"; //
Router
コンポーネントがあり、次にRouter
コンポーネントにネストStack
およびscene
があります.Router
全体のルーティングコンポーネントであるがStack
ルートコンポーネントである異なるルーティングリンクを包むコンテナであり、最後にscene
具体的なルーティングリンクであり、何個のルーティングジャンプを実現したいのかscene
.各scene
にはいくつかの重要な属性があります.key
対応するのはルーティングのルール名です.component
リンクがジャンプしたコンポーネントファイルに対応し、プロジェクトのcomponents
に存在する真のコンポーネントであり、名前が一致しなければならない.title
相当a
リンクに表示される文字は、以下の例の「映画詳細」のようになります.具体的なコードは以下の通り:<View style={{height:200}}> // Router View
<Router sceneStyle={{backgroundColor: 'white'}}>
<Stack key="root">
{/* */}
{/* : , , , Scene
Scene 。 key , key
。 key, key
hideNavBar scene sceneStyle(router ) router , */}
<Scene key="app" component={APP} title="App " hideNavBar={true}/>
{/* */}
<Scene key="movielist" component={MovieList} title=" "/>
<Scene key="moviedetail" component={MovieDetail} title=" "/>
</Stack></Router>
</View>
Actions
;実装の手順は、まずルーティングのコンポーネントを導入することである.例えば//
import { Actions } from 'react-native-router-flux'
次に、使用時に要素をバインド
onpress
属性にコールバック関数を設定します.<TouchableHighlight underlayColor="#fff" onPress={() => { Actions.moviedetail({ id: item.id }) }}>
// Actions.moviedetail() , , , id
注意:上のActions.key(ポイントの後ろの名前は必ず
scene
のルートのルール名)です.ここのように映画リストの各レコードは、クリック時にジャンプするのが映画の詳細ページコンポーネントなので、必ずmoviedetail
です.まとめ
具体的には
React
のルートは以下のapiガイドに参加できますhttps://github.com/aksonov/react-native-router-flux/blob/master/docs/API.md
https://github.com/aksonov/react-native-router-flux/blob/v3/docs/MINI_TUTORIAL.md