javascript 在React中创建导航:将导航栏登录按钮链接到登录页面

h79rfbju  于 5个月前  发布在  Java
关注(0)|答案(1)|浏览(76)

我需要帮助了解如何使用React-Router设置从Navbar登录按钮到Login页面的导航。
app.js

import React from 'react';
import Header from './comp/Header';
import Howitworks from './comp/Howitworks';  
import About from './comp/About';
import Agent from './comp/Agent';

function App() {
  return (
    <div className="App">
      <Header/>
      <Howitworks/>
      <About/> 
      <Agent/>
    </div>
  );
}

export default App;

字符串
index.jsx

import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
  <>
    <App />
  </>,
  document.getElementById('root')
);


Header.jsx

import React from 'react';
import Navbar from './Navbar';
function Header() {
  return (
    <div className='header'>
        <Navbar/>
        <div className='intro'>
            <p>Looking for a Property !</p>
            <h1><span>Buy </span>and<span> Sell</span> Properties</h1>
            <p className='details'>Lorem ipsum dolor sit amet consectetur adipisicing elit. Possimus, quae?<br/> by Hemdan</p>
            <a href='#' className='header-btn'>Details</a>
        </div>
    </div>
  )
}

export default Header;


Navbar.jsx

import React from 'react';
import logo from '../images/logo1.png';

function Navbar() {
  return (
    <nav>
        <a href='#' className='logo'>
        <img src={logo} alt='logo' />
        </a>
        <input className='menu-btn' type='checkbox' id='menu-btn'/>
        <label className='menu-icon' for='menu-btn'>
            <span className='nav-icon'></span>
        </label>
        <ul className='menu'>
            <li><a href='#'className='active'>Home</a></li>
            <li><a href='#'>About</a></li>
            <li><a href='#'>Sell</a></li>
            <li><a href='#'>Buy</a></li>
        </ul>
        <a href='#' className='property'>Login</a>
        
    </nav>
  )
}

export default Navbar;


尽管在浏览器中尝试了各种解决方案,但我一直在努力为我的React导航问题找到正确的解决方案。

mlmc2os5

mlmc2os51#

我强烈建议从React-Router Tutorial开始,并阅读官方文档,但至少需要3件事。
1.路由器组件,用于提供路由上下文并处理导航操作
1.要导航到的路线
1.链接元件或导航功能,以实现对管线的导航操作。
范例:
App -导入路由器并在特定路由上呈现页面内容。

import React from 'react';
import {
  BrowserRouter,
  Routes,
  Route,
} from 'react-router-dom';
import Header from './comp/Header';
import Howitworks from './comp/Howitworks';  
import About from './comp/About';
import Agent from './comp/Agent';

function App() {
  return (
    <BrowserRouter>
      <div className="App">
        <Header />
        <Routes>
          <Route path="/" element={/* home page */} />
          <Route path="/howitworks" element={<Howitworks />} />
          <Route path="/about" element={<About />} />
          <Route path="/buy" element={<Agent />} />
          <Route path="/sell" element={<Agent />} />
          <Route path="/login" element={/* log-in page */} />
        </Routes>
      </div>
    </BrowserRouter>
  );
}

字符串
导航栏-导入和渲染Link组件,而不是原始锚标记。

import React from 'react';
import { Link } from 'react-router-dom';
import logo from '../images/logo1.png';

function Navbar() {
  return (
    <nav>
      <Link to='/' className='logo'>
        <img src={logo} alt='logo' />
      </Link>
      <input className='menu-btn' type='checkbox' id='menu-btn' />
      <label className='menu-icon' for='menu-btn'>
        <span className='nav-icon'></span>
      </label>
      <ul className='menu'>
        <li><Link to='/' className='active'>Home</Link></li>
        <li><Link to='/about'>About</Link></li>
        <li><Link to='/sell'>Sell</Link></li>
        <li><Link to='/buy'>Buy</Link></li>
      </ul>
      <Link to='/login' className='property'>Login</Link>
    </nav>
  );
}

相关问题