【发布时间】:2023-03-06 05:40:01
【问题描述】:
我正在尝试制作一个简单的短信应用程序,使用 react 和流星进行用户注册,当我尝试添加路由时:
**//main.js**
import React from "react";
import ReactDOM from "react-dom";
import {Meteor} from "meteor/meteor";
import {Tracker} from "meteor/tracker";
import { BrowserRouter, Route, browserHistory } from 'react-router-dom'
import {Texts} from "./../imports/api/Text";
import App from "./../imports/ui/App";
import Name from "./../imports/ui/Name";
import NotFound from "./../imports/ui/NotFound"
Meteor.startup(() => {
Tracker.autorun(() => {
let texts = Texts.find().fetch();
console.log(texts);
console.log(browserHistory);
const routes = (
<BrowserRouter>
<div>
<Route path="/chat" render={()=>{
return <App texts={texts} />
}}/>
<Route path="*" component={NotFound}/>
</div>
</BrowserRouter>
);
ReactDOM.render(routes, document.getElementById("app"));
});
});
**//NotFound.js**
import React from "react";
export default class NotFound extends React.Component{
render(){
return <p>URL not found</p>
}
}
它将这两个东西都呈现到屏幕上,我看到我的错误 404 文本和我的短信应用程序。我的问题是,如何在无法识别路线(例如“/asddkib”)时让 NotFound 页面呈现,并在我转到正确的路径(“/chat”)时让它消失(只是应用程序) ?现在,如果我去 /chat 那么两者都会被渲染到屏幕上。
【问题讨论】:
标签: reactjs meteor react-router