在reactjs我怎么能只打开一个登录页面在同一个标签...(一个完全不同的页面,但相同的标签)?

dced5bon  于 2022-12-26  发布在  React
关注(0)|答案(2)|浏览(175)

在布局.jsx中

<Link to="/about">
    <button>About</button>
</Link>
<Link to="/login">
    <button>Login</button>
</Link>

在应用程序jsx中

import About from './about';
import Layout from './Layout'
import Login from './login';
<Layout />
<Routes>
   <Route path='/about' element={<About />}/>
   <Route exact path='/login' element={<Login />} />
</Routes>

在索引.js中

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

当我点击登录按钮时,它会在按钮下打开...!相反,我想在同一标签中打开一个新页面...

6qfn3psc

6qfn3psc1#

你的问题有点混乱。如果你想在同一个标签页上打开登录页面,点击链接后尝试<Link to="/login"> Login </Link>。如果你想只呈现登录页面而不点击链接,尝试条件呈现。

dauxcl2d

dauxcl2d2#

由于您在App.jsx中不带任何条件地呈现布局组件,因此它将始终呈现。如果您希望仅在初始加载时加载它,则可以创建一个名为/home的新路径并在其中添加按钮。布局组件最好用于容纳多个屏幕(如导航栏或侧边栏)中需要的组件。
代码沙盒:https://codesandbox.io/s/fervent-star-k708p4?file=/src/About.jsx

相关问题