式には1つの親要素が必要です」というエラーが発生するのですが、どのように修正すればよいですか?
2023-09-23 05:52:23
質問
Reactは比較的初心者なのですが、ここでの標準はどうなっているのでしょうか?
このようなreact-routerがあるとします。
<Router history={history}>
<Route path="/" component={App}>
<Route path="home component={Home} />
<Route path="about" component={About} />
<Route path="inbox" component={Inbox} />
<Route path="contacts" component={Contacts} />
</Route>
</Router>
そして、今度は2つのルートを削除したいのですが、もし
prop.mail
に設定されている
false
というように、まともなやり方は次のようになります。
<Router history={history}>
<Route path="/" component={App}>
<Route path="home component={Home} />
<Route path="about" component={About} />
{ if.this.props.mail ?
<Route path="inbox" component={Inbox} />
<Route path="contacts" component={Contacts} />
: null }
</Route>
</Router>
しかし、ルートが2つあり、Reactはエラーを返します。
式は1つの親要素を持つ必要があります。
私はここで複数のifを使用したくありません。これを扱うのに望ましいReactの方法は何ですか?
どのように解決するのですか?
配列に入れる(キーも代入する)。
{ if.this.props.mail ?
[
<Route key={0} path="inbox" component={Inbox} />,
<Route key={1} path="contacts" component={Contacts} />
]
: null }
最新のReactバージョンでは
React.Fragment
も、こんな感じで。
{ if.this.props.mail ?
<React.Fragment>
<Route path="inbox" component={Inbox} />,
<Route path="contacts" component={Contacts} />
</React.Fragment>
: null }
関連
-
[解決済み】ReactJS: マテリアルuiのブレークポイントについて
-
[解決済み] React + TypeScript のエラーです。この呼び出しにマッチするオーバーロードがありません
-
[解決済み] axios-mock-adapter onGet mock data not effective.
-
[解決済み] Error: yarn start - エラー コマンド "start" が見つかりません。
-
[解決済み] ReactのHashRouterとBrowserRouterの違いは何ですか?
-
[解決済み】オプションのパスパラメータを持つReact Router
-
[解決済み】react router v4 / v5でネストされたルート
-
[解決済み] React.jsのimgの正しいパスについて
-
[解決済み] webpack-dev-serverでreact-routerからの入力を許可する方法
-
[解決済み] React-Routerとアクティブリンク?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Typescript react - モジュール ''react-materialize'' の宣言ファイルが見つかりませんでした。'path/to/module-name.js' は暗黙のうちに any 型を持ちます。
-
[解決済み】コンポーネントの定義に表示名がない react/display-name
-
[解決済み] error 'document' is not defined : eslint / React
-
[解決済み] Next.jsでWebSocketを利用する
-
[解決済み] react router dom v4でwebpack dev serverを構成する方法は?
-
[解決済み] react-navigation v5を使ったreact-nativeアプリのAppNavigatorの構文を更新する。
-
[解決済み] Cross-envでyarnの実行時にenv変数が変更されない。
-
[解決済み] AxiosにCORSの問題が発生
-
[解決済み] componentWillReceivePropsライフサイクルメソッドはいつ使用するのですか?
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避する方法は?