当前位置: 首页 > 知识库问答 >
问题:

在react中打开子页

萧伟兆
2023-03-14

在我的react应用程序中,我有这个app.js文件

import React from 'react';
import Login from './pages/Login';

function App() {
  return (
    <Login />
  );
}
export default App;

我的login.js中有这个链接(还有一些与问题无关的东西)

import React, {Component} from 'react';
import '../css/App.css';
import '../css/Login.css'
import 'w3-css';
import logo from '../images/logo.png';

class Login extends Component {
    render() {
        return (
            <div>
               <p style={{fontSize:'14px'}}>Admin? <a href="admin">Login as admin</a></p>
            </div>
        );
    }
}

因此,当用户单击该链接时,它将打开一个子页面,其域为localhost:3000/admin我将如何相应地更新我的UI并打开一个类似于login.js的新文件,在这里我可以构造下一个视图

共有1个答案

姜志
2023-03-14

您需要使用react-router-dom包设置项目的前端路由。

如下文所示,

import { Switch, Route } from 'react-router-dom'
import AdminPage from 'path/to/your/AdminPage'
import Login from 'path/to/your/Login'

cosnt RoutedApp = () => {

    return (
       <Switch>
         <Route exact path="/admin" component={<AdminPage/>}/>
         <Route exact path="/login" component={<Login/>}/>
       </Switch>
    );
}

export default RoutedApp;

然后将routedapp设置为应用程序的起点。

ReactDOM.render(RoutedApp, document.getElementById("root"));
 类似资料:
  • 但当我尝试打开一个URL时,它给出: 该代码适用于API级别28,但在API级别24中抛出以上错误。我搜索到类TracingController是在API level 28中引入的,我正在尝试在API 24中打开webview,但我不知道如何配置它以在API level 24中打开。 我的build.gradle文件: 任何关于如何打开WebView的提示,或者如何在API级别24中打开WebVi

  • 我有一个包装器React组件,它返回一个DatePicker: 最终它会变得更加复杂,但现在它只是返回DatePicker。问题是,当我尝试使用该组件时,一个预填充的日期字段按预期显示,但当我单击该字段时,日历弹出窗口没有打开。我需要做什么才能打开日历?如何解决此问题?

  • 给定开放天气地图当前天气数据API,我试图将当前天气数据拉入我的React.js应用程序使用ajax,提取给定城市的当前温度值,然后在我的组件中呈现该值。 我正在使用的测试JSON数据位于以下网址:http://api.openweathermap.org/data/2.5/weather?id=5391997 我的问题: 如何提取温度值?在我的渲染函数中,console.log返回JSON对象,

  • 我怎么才能解开绳子?输入是一个包含字母、数字和符号的形式的字符串,输出是一个包含重复子字符串的字符串。 示例:输入:2[qwe]4[qw]e输出:QWEQWEQWQWQWQWQWE 一个重复可能包含另一个重复。示例:2[3[q]w]=qqqwqqqw 不幸的是,我只能分成组件 =============================================================

  • 因此,使用bitbucket管道向heroku部署了一个React项目,该项目运行良好,但现在似乎无法使heroku打开该项目时不使用我的Package.json中的脚本npm start。建议创建一个文件Procfile,它是一个txt文件,内部有have Web:index.html 在我的WebPack中: 和package.json中 在heroku日志中得到: HEROKU[router

  • 我将在我的应用程序中使用Facebook SDK。我必须打开建筑。gradle并添加以下代码: 但是在Eclipse中,我可以在哪里为我的项目打开这个?我在谷歌上搜索过,但找不到任何相关信息。