【发布时间】:2021-05-23 21:27:52
【问题描述】:
我正在尝试弄清楚 React Router Dom 是如何工作的,但遇到了一个我什至不知道如何解决的问题。
如果在 App.js 中,我有这个 sn-p,那么一切都会在各个部分之间呈现和导航,就可以了。
<Switch>
<Route path='/login-user' component={UserLoginForm} />
<Route path='/login-database' component={LoginDatabaseSelect} />
<Route path='/login-project' component={LoginProjectSelect} />
<Redirect path='/' exact to='/login-user' />
</Switch>
但是,这不是正确的方法,我正在尝试这样做: 创建一个为此引用的不同组件。
<Switch>
<Route path='/login' component={LoginSequence} />
<Redirect path='/' exact to='/login' />
</Switch>
而在 LoginSequence 中的代码是:
import React from 'react';
import { Route, Redirect, Switch } from 'react-router-dom';
import UserLoginForm from "./LoginSequence/loginUserPass";
import LoginDatabaseSelect from "./LoginSequence/loginDatabaseSelect";
import LoginProjectSelect from "./LoginSequence/loginProjectSelect";
class LoginSequence extends React.Component {
render () {
console.log('Login Sequence')
return (
<div>
<h1>Login Sequence</h1>
<Route path='/login-user' component={UserLoginForm} />
<Route path='/login-database' component={LoginDatabaseSelect} />
<Route path='/login-project' component={LoginProjectSelect} />
<Redirect path='/login' exact to='/login-database' />
</div>
)
}
}
export default LoginSequence;
然而,这个组件,甚至似乎都没有被调用,因为 console.log 没有向控制台输出任何内容。这意味着什么都没有渲染,也没有被调用。
有人能指出我为什么这不起作用吗?
编辑:我在调用 LoginSequence 的代码的 sn-p 中修复了 From 并将其更改为 Path,因为它没有效果,但 path 似乎是正常的做法。
【问题讨论】:
-
@SoufianeBoutahlil 它没有 :( 不确定在重定向上下文中 from 和 path 之间的区别是什么,但是在这两种情况下一切都还在重定向,只是在调用 LoginSequence 组件时,它实际上并没有呈现任何东西,但链接到它应该在的正确页面。
标签: javascript reactjs url-routing react-router-dom