react-nativeプロジェクトの初期化cmd を開き、rn プロジェクトを作成するフォルダーに移動します。 npx 反応ネイティブ 初期化テストRN ここではプロジェクト名が testRN に設定されていますが、自分で設定することもできます。 react-nativeプロジェクトをインストールするAndroid 仮想マシンまたは USB デバッグ実機を接続し、作成されたプロジェクトのルート ディレクトリに cd し、yarn android をインストールして起動します。 糸アンドロイド 初期インストールが完了した後、携帯電話が切断されていない場合は、仮想マシンまたは携帯電話でプロジェクトアプリを入力するだけで、プロジェクトのルートディレクトリでPCを起動してyarn startを実行し、再度インストールする必要はありません。切断後に再インストールする必要がある場合があります。 糸の始まり 起動後、cmd インターフェイスで r を押して更新します。 react-navigation ルーティングライブラリのインストールコンテンツは Android テストに基づいて構築されており、iOS はテストしていません。 以下のパッケージを一度にインストールします。 糸を追加 @react-navigation/native react-native-screens react-native-safe-area-context @react-navigation/native-stack Android の追加構成については、 コード: android.os.Bundle をインポートします。 @オーバーライド 保護されたvoid onCreate(バンドルsavedInstanceState) { super.onCreate(null); } ルーティングライブラリの使用app.jsを次のコードに変更します。 'react' から * を React としてインポートします。 'react-native' から { View, Text } をインポートします。 '@react-navigation/native' から {NavigationContainer} をインポートします。 '@react-navigation/native-stack' から createNativeStackNavigator をインポートします。 関数ホームスクリーン() { 戻る ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>ホーム画面</Text> </表示> ); } スタックを初期化します。 関数App() { 戻る ( // NavigationContainer はルートのコンテナであり、関連するすべてのコンテンツをそこに置く <NavigationContainer> <スタック.ナビゲーター> * Stack.Screen はルーティングされたウィンドウであり、name はジャンプ先のウィンドウ名を設定し、ウィンドウのコンポーネント コンテンツはコンポーネント * に配置されます。 <Stack.Screen name="Home" コンポーネント={HomeScreen} /> </Stack.Navigator> </ナビゲーションコンテナ> ); } デフォルトのアプリをエクスポートします。 ルートジャンプとルートパラメータの送信'react' から * を React としてインポートします。 // ボタンを追加 'react-native' から { Button、View、Text } をインポートします。 '@react-navigation/native' から {NavigationContainer} をインポートします。 '@react-navigation/native-stack' から createNativeStackNavigator をインポートします。 // ナビゲーションパラメータを追加する function HomeScreen({navigation}) { 戻る ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>ホーム画面</Text> ジャンプボタンを追加 */ <ボタン title="詳細へ移動" // navigation.navigate('Details') はジャンプに使用され、Details は対応するウィンドウ名を指します onPress={() => navigation.navigate('詳細')} /> </表示> ); } 関数の詳細画面() { 戻る ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Text>詳細画面</Text> </表示> ); } スタックを初期化します。 関数App() { 戻る ( // NavigationContainer はルートのコンテナであり、関連するすべてのコンテンツをそこに置く <NavigationContainer> <スタック.ナビゲーター> * Stack.Screen はルーティングされたウィンドウであり、name はジャンプ先のウィンドウ名を設定し、ウィンドウのコンポーネント コンテンツはコンポーネント * に配置されます。 <Stack.Screen name="Home" コンポーネント={HomeScreen} /> <Stack.Screen name="詳細" コンポーネント={DetailsScreen} /> </Stack.Navigator> </ナビゲーションコンテナ> ); } デフォルトのアプリをエクスポートします。 ルートタイトルを設定するデフォルトでは、ウィンドウはタイトルとして名前を使用しますが、自分で設定することもできます。 <Stack.Screen name="Home" コンポーネント={HomeScreen} オプション={{ title: 'my home'}} /> ナビゲーション タイトルとして Home ではなく my home を使用します。 通常、第 1 レベルのページから第 2 レベルのページにジャンプする場合、コンテンツに応じて異なるタイトルが表示されることがあります。このとき、タイトルを動的に設定する必要があります。 <Stack.Screen name="詳細" コンポーネント={DetailsScreen} オプション = {({ ルート }) => ({ タイトル: route.params.title })} /> 次に、第 1 レベルのページにジャンプするときにタイトルを渡すだけです。 <ボタン title="詳細へ移動" // navigation.navigate('Details') はジャンプに使用され、Details は対応するウィンドウ名を指します onPress={() => navigation.navigate('詳細', { title: 'セカンダリページ' })} /> 最初のレベルのページでタイトルが渡されない場合は、空のオブジェクトを渡すか、2 番目のレベルのウィンドウで初期値を設定するのが最適です。そうしないと、エラーが報告されます。 また、画面上のオプションのプロパティを変更する <ボタン title="タイトルを更新" onPress={() => navigation.setOptions({ title: '更新されました!' })} /> カスタムタイトルコンポーネントカスタマイズ可能で画像にもできる機能コンポーネントを返すように headerTitle コールバックを設定します。 関数LogoTitle() { 戻る ( <画像 スタイル={{ 幅: 50, 高さ: 50 }} ソース={require('./src/img/details.png')} /> ); } <Stack.Screen name="Home" コンポーネント={HomeScreen} オプション={{ タイトル:「私の家」 ヘッダータイトル: (props) => <LogoTitle {...props} /> }} /> タイトルボタンまた、画面のオプションには、ボタンを配置できる headerRight があります。 <Stack.Screen name="Home" コンポーネント={HomeScreen} オプション={{ タイトル:「私の家」 ヘッダータイトル: (props) => <LogoTitle {...props} />, ヘッダー右: () => ( <ボタン onPress={() => alert('これはボタンです!')} title="情報" カラー="#fff" /> )、 }} /> headerBackImageSource は戻るボタンの画像を変更できます。 <Stack.Screen name="詳細" コンポーネント={DetailsScreen} オプション={({ ルート }) => ( { タイトル: route.params.title, ヘッダーバックイメージソース: detailsImg、 } )} /> react-navigation6.x ルーティングライブラリの基本的な使い方についてはこれで終わりです。 react-navigation6.x ルーティングライブラリの関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
>>: CSSの省略記号とパディングを組み合わせた場合の問題の詳細な説明
最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...
1. ファイルサーバーについてプロジェクトでは、公開ソフトウェアやデータをプロジェクト チーム メン...
目次1. 接続制御プラグイン(connection_control)の紹介1.1 connectio...
目次1. はじめに: 2. プロトタイプチェーン継承: 3. コンストラクタ継承の借用(オブジェクト...
目次親コンポーネントリストボックスリストコンポーネントボタンコンポーネント PageButton昨年...
前に書いたものは複雑すぎるので、シンプルなコアにしましょう <html> <ヘッド...
Zabbix サーバー環境プラットフォームZABBIX バージョン 4.4セントOS8 MySQL ...
まず、 esp8266 は mqtt を通じてメッセージを公開し、WeChat アプレットは mqt...
成果を達成する実装コード <h1>123WORDPRESS.COM</h1>...
MQTT の紹介MQTT (Message Queuing Telemetry Transport)...
序文最近mysql /usr/local/mysql/bin/mysql -uroot -pパスワー...
execute、executeUpdate、executeQuery の違い (およびそれらの戻り値...
環境: 1. CentOS6.5 X64 2.mysql-5.6.34-linux-glibc2.5...
目次1: カプセル化の考え方2. 包装工程3: ドットインジケーター4: 左と右のインジケーター5:...
ページドメインの関係:メインページ a.html はドメイン A: www.jb51.net に属し...