0
私はHeader
とFooter
のコンポーネントを持ち、周囲の内部ページに使用しています。特定のコンポーネントを手動でレンダリングして特定のルート内で他のコンポーネントを除外する方法
私はLogin
コンポーネントも持っています。これはユーザーがログインしていないときに表示されます。このコンポーネントはHeader
またはFooter
コンポーネントを実装していません。
問題は、コンポーネントでHeader
とFooter
のコンポーネントがレンダリングされないようにすることができないという問題です。私はLogin
コンポーネントを単独でレンダリングすることを除外できません。
私はSwitch
タグを試しましたが、うまく動作しませんでした。
import React, { Component } from 'react';
import { BrowserRouter, Route } from 'react-router-dom';
import { connect } from 'react-redux';
import * as actions from '../actions';
import Header from "./Header";
import Footer from "./Footer";
import Login from "./Login";
import manageCategories from "./manageCategories";
class App extends Component {
componentDidMount() {
this.props.fetchUser();
}
render() {
return (
<div>
<BrowserRouter>
<div>
<Route exact path="/login" component={Login} />
<Header />
<Route exact path="/manage-categories" component={manageCategories} />
<Footer />
</div>
</BrowserRouter>
</div>
);
}
}
export default connect(null, actions)(App);
Iは 'manageCategories'コンポーネントに' header'と 'footer'を実施しました。そうですか?新しいコンポーネントごとにそのような実装を行うには? – CairoCoder
レイアウトコンポーネントを追加して、 'header'と' footer'コンポーネントを必要とするネストされたルータコンポーネントを配布することができます。 'header'と' footer'を必要としないコンポーネントはパラレルルータです。 – JiangangXiong
OK、あなたの提案はレイアウトのために働いていますが、 " "の形式は機能しません。 –
CairoCoder