[解決済み] 不変量違反。このナビゲーターでは、ナビゲーションプロップがありません。
質問
reactネイティブアプリを起動しようとすると、このようなメッセージが表示されます。通常、このような形式は他のマルチスクリーンナビゲーションでは機能しますが、この場合はなぜか機能しません。
以下がそのエラーです。
Invariant Violation: The navigation prop is missing for this navigator. In
react-navigation 3 you must set up your app container directly. More info:
https://reactnavigation.org/docs/en/app-containers.html
以下は私のアプリのフォーマットです。
import React, {Component} from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { createStackNavigator } from 'react-navigation';
import Login from './view/login.js'
import SignUp from './view/signup.js'
const RootStack = createStackNavigator(
{
Home: {
screen: Login
},
Signup: {
screen: SignUp
}
},
{
initialRouteName: 'Home'
}
);
export default class App extends React.Component {
render() {
return <RootStack />;
}
}
どのように解決するのですか?
React Navigation 3.0では、複数の の破壊的な変更があります。 ルート ナビゲータに必要な明示的なアプリ コンテナを含む、多くの変更点があります。
以前は、どのナビゲータも「ナビゲーション コンテナ」にラップされていたため、アプリのトップ レベルでナビゲーション コンテナとして動作できました。ナビゲーション コンテナは、現在ではアプリ コンテナとして知られており、アプリのナビゲーション状態を維持し、リンク イベントをナビゲーション アクションに変えるなど、外部との対話を処理する高次のコンポーネントです。
v2以前では、React Navigationのコンテナは、create*Navigationによって自動的に提供されます。 create*Navigator 関数によって自動的に提供されます。v3.時点では は、コンテナを直接使用する必要があります。また、v3では createNavigationContainerをcreateAppContainerに改名しました。
また、v4 を使用している場合、ナビゲータは別のリポジトリに移動されたことに注意してください。現在は、インストールし
'react-navigation-stack'
. 例えば
import { createStackNavigator } from 'react-navigation-stack'
以下の解答はv3用です。
import {
createStackNavigator,
createAppContainer
} from 'react-navigation';
const MainNavigator = createStackNavigator({...});
const App = createAppContainer(MainNavigator);
より包括的なコード例です。
import {
createStackNavigator,
createAppContainer
} from 'react-navigation';
import Login from './view/login.js'
import SignUp from './view/signup.js'
const RootStack = createStackNavigator({
Home: {
screen: Login
},
Signup: {
screen: SignUp
}
});
const App = createAppContainer(RootStack);
export default App;
関連
-
[解決済み】Reactを使用したMapBoxのCSSが欠落している件
-
[解決済み】ngrokがReact devサーバーに接続しようとすると、無効なホストヘッダが表示される。
-
[解決済み】プリセットファイルはオブジェクトのエクスポートができない
-
[解決済み] react nativeで関数だらけのヘルパーファイルを作成する方法は?
-
[解決済み] Webpack のコンパイルに失敗した
-
[解決済み] React - 予想外のトークン、予想外の;
-
[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。
-
[解決済み] AxiosにCORSの問題が発生
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避する方法は?
-
[解決済み] Reactプロジェクトに.envファイルを追加する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] ReactJS: Warning: setState(...): 既存の状態遷移の間に更新することはできません
-
[解決済み] jest: テストスイートの実行に失敗しました。予期しないトークンのインポート
-
[解決済み] Webpack + Babelです。プリセット "es2015 "がディレクトリに相対して見つからなかった
-
[解決済み] React + TypeScript のエラーです。この呼び出しにマッチするオーバーロードがありません
-
[解決済み] formcontrollabel - material-ui | Reactのデフォルトのtypography classを変更するには?
-
[解決済み] React - _this2.SetStateは関数ではありません。
-
[解決済み] React Hooksの「exhaustive-deps」lintルールを理解する
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。
-
[解決済み] ESLintとTSLintの違い【クローズド】について