初めて質問させていただきます。
表現が不足する部分もあるかもしれませんがご了承ください。
前提・実現したいこと
Rails6の環境でReactを導入中で、ページ遷移を実現したいです。
現在では、ブラウザの入力欄に「http://localhost:3001/admin/login」
とアクセスすると
このようになり、
同じくブラウザの入力欄に「http://localhost:3001/admin/top」
とアクセスすると
このようになります。
また、ブラウザの入力欄に「http://localhost:3001/admin/login」
とアクセスし、「管理画面の一覧ページへ」リンクを押すと、
このようになります。
なので、「管理画面の一覧ページへ」リンクを押した際に
このようになってほしいです。
該当のソースコード
以下、各種ファイルおよびディレクトリ構成を記載します。
「app.js」
react
1//export default App; 2import React, { Component } from 'react'; 3import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; 4 5import Header from './top/header'; 6import MainLogin from './top/main_login'; 7import Index from './top/index'; 8import Footer from './top/footer'; 9 10export default class App extends Component { 11 12 render() { 13 return ( 14 <div> 15 <Router> 16 <Switch> 17 <Route path="/admin/login"> 18 <Header/> 19 <MainLogin/> 20 <Index/> 21 <Footer/> 22 </Route> 23 <Route exact path='/admin/top'> 24 <Index/> 25 </Route> 26 </Switch> 27 </Router> 28 </div> 29 ); 30 } 31} 32
「header.js」
react
1import React, { Component } from 'react'; 2 3export default class Header extends Component { 4 render() { 5 return ( 6 <nav style={{ background: "#666" }}> 7 <ul style={{ display: 'flex', listStyle: 'none' }}> 8 <li style={{ margin: 10 }}><a href="/" style={{ color: "#fff", textDecoration: 'none' }}>管理画面ログイン画面</a></li> 9 </ul> 10 </nav> 11 ); 12 } 13} 14
「main_login.js」
react
1//export default App; 2import React, { Component } from 'react'; 3import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; 4 5export default class MainLogin extends Component { 6 render() { 7 return ( 8 <div> 9 <h1>Top#login</h1> 10 <p>Find me in app/views/admin/login.html.erb</p> 11 </div> 12 ); 13 } 14}
「index.js」
react
1import React, { Component } from 'react'; 2import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom'; 3import Top from './top'; 4 5export default class Index extends Component { 6 render() { 7 return ( 8 <div> 9 <Router> 10 <Link to={`/admin/top`}>管理画面の一覧ページへ</Link> 11 <Switch> 12 <Route path="/admin/top" component={Top}/> 13 </Switch> 14 </Router> 15 </div> 16 ); 17 } 18}
「footer.js」
react
1import React, { Component } from 'react'; 2 3export default class Footer extends Component { 4 render() { 5 return ( 6 <div> 7 {/*フッター*/} 8 <footer style={{ height: 12, background: "#666", color: "#fff", padding: 12 }}>フッター</footer> 9 </div> 10 ); 11 } 12}
各種jsファイルに関しまして、修正方法を教えていただけると幸いです。
よろしくお願いいたします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。