Я создаю приложение, в котором есть страница приветствия и пользовательская страница, я использовал условия, чтобы узнать, когда пользователь вошел в систему, поэтому я могу закрыть маршруты входа и регистрации, но, похоже, страницы не отображаются.

./App.js

... componentdidMount() { firebase.auth().onAuthStateChanged(user ={amp}gt; this.setState({auth: user})) } render() { let Routing; if (this.state.auth) { Routing = ( {amp}lt;Route path="/dashboard"{amp}gt;{amp}lt;Dashboard /{amp}gt;{amp}lt;/Route{amp}gt; ) } else { Routing = ( {amp}lt;Route path="/"{amp}gt;{amp}lt;WelcomePage /{amp}gt;{amp}lt;/Route{amp}gt; {amp}lt;Route path="/login"{amp}gt;{amp}lt;Login /{amp}gt;{amp}lt;/Route{amp}gt; {amp}lt;Route path="/signup"{amp}gt;{amp}lt;Signup /{amp}gt;{amp}lt;/Route{amp}gt; ) } return {amp}lt;BrowserRouter{amp}gt;{Routing}{amp}lt;/BrowserRouter{amp}gt; } 

Где я делаю не так?

Возможно, вам нужно добавить switch , обратитесь к документу здесь

 {amp}lt;BrowserRouter{amp}gt; {amp}lt;Switch{amp}gt; {amp}lt;Route exact path="/" component={XXX} /{amp}gt; {amp}lt;Route exact path="/xxxxx" component={XXXX} /{amp}gt; {amp}lt;Redirect to="/" /{amp}gt; {amp}lt;/Switch{amp}gt; {amp}lt;/BrowserRouter{amp}gt; 

Кстати, exact использование здесь определено, что является распространенным, но не необходимым в вашей ситуации, я думаю,

поставить точно в соответствии с URL

 Routing = ( {amp}lt;Route exact path="/"{amp}gt;{amp}lt;WelcomePage /{amp}gt;{amp}lt;/Route{amp}gt; {amp}lt;Route path="/login"{amp}gt;{amp}lt;Login /{amp}gt;{amp}lt;/Route{amp}gt; {amp}lt;Route path="/signup"{amp}gt;{amp}lt;Signup /{amp}gt;{amp}lt;/Route{amp}gt; )