私は1ページのReactアプリケーションを持っています。私は、アプリケーションのコンテナとして機能するBaseLayoutコンポーネントを持っています。リアクタールータBaseLayoutにコンテンツを挿入する
class App extends Component {
render() {
return (
<div>
<BaseLayout>
</BaseLayout>
</div>
);
}
}
たbaselayout
export default class BaseLayout extends Component {
render() {
return (
<div>
<NavBar />
{this.props.children}
<Footer />
</div>
)
}
}
index.js
ReactDOM.render(
<BrowserRouter>
<Switch>
<Route path="/page_one" component={PageOne} />
<Route path="/page_two" component={PageTwo} />
<Route path="/" component={App} />
</Switch>
</BrowserRouter>,
document.getElementById('root')
)
すべてのナビゲーションをナビゲーションバー内にある:以下のようにたbaselayoutは、ヘッダとフッタと、コンテンツを表示します.jsコンポーネント。問題は、私はURLをpage_oneかpage_twoに行くとき、それが唯一の内容を示すことである
navBar.js
export default class NavBar extends Component {
render() {
return (
<div className="nav-bar">
<button><Link to="/">Home</Link></button>
<button><Link to="/page_one">Page One</Link></button>
<button><Link to="/page_two">Page Two</Link></button>
</div>
)
}
}
pageOne.jsとpageTwo.js
export default class PageOne extends Component {
constructor(props) {
super(props)
}
render() {
return (
<div>
<h1>Page One </h1>
</div>
);
}
}
ナビゲーションバーではなくコンポーネントです。
リアクションルータとリアクションフレームワークを使用して、すべてのページでナビゲーションバーとフッタを表示させるにはどうすればよいですか?
はUPDATE:私は、次の取得、今
ReactDOM.render(
<BrowserRouter>
<Route path="/" component={App}>
<Switch>
<Route path="/page_one" component={PageOne} />
<Route path="/page_two" component={PageTwo} />
</Switch>
</Route>
</BrowserRouter>,
document.getElementById('root')
)
:
App.js
class App extends Component {
render() {
return (
<div>
<BaseLayout>
</BaseLayout>
</div>
);
}
}
export default App;
私を次のように私のindex.jsを変更しました
更新コード:
私はURLが将来的に破壊される場合には、全体のコードを掲示しています。アプリケーションはBaseLayoutと同じではありません。 –
'App'の' render'の中に '{this.props.children}'を追加してください。 –
私はそれを追加しましたが、何もしませんでした。私が直面している問題は、page_oneに行くとナビゲーションメニューが表示されないということです。 –