在布局.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>
);
当我点击登录按钮时,它会在按钮下打开...!相反,我想在同一标签中打开一个新页面...
2条答案
按热度按时间6qfn3psc1#
你的问题有点混乱。如果你想在同一个标签页上打开登录页面,点击链接后尝试
<Link to="/login"> Login </Link>
。如果你想只呈现登录页面而不点击链接,尝试条件呈现。dauxcl2d2#
由于您在App.jsx中不带任何条件地呈现布局组件,因此它将始终呈现。如果您希望仅在初始加载时加载它,则可以创建一个名为/home的新路径并在其中添加按钮。布局组件最好用于容纳多个屏幕(如导航栏或侧边栏)中需要的组件。
代码沙盒:https://codesandbox.io/s/fervent-star-k708p4?file=/src/About.jsx