Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React路由器Dom组件在App.js中呈现,但不作为单独的组件_Javascript_Reactjs_Url Routing_React Router Dom - Fatal编程技术网

Javascript React路由器Dom组件在App.js中呈现,但不作为单独的组件

Javascript React路由器Dom组件在App.js中呈现,但不作为单独的组件,javascript,reactjs,url-routing,react-router-dom,Javascript,Reactjs,Url Routing,React Router Dom,我正在试图弄清楚React路由器Dom是如何工作的,但遇到了一个我甚至不知道如何解决的问题 如果,在App.js中,我有这个代码段,那么所有内容都会在各个部分之间呈现和导航,很好 <Switch> <Route path='/login-user' component={UserLoginForm} /> <Route path='/login-database' component={LoginDat

我正在试图弄清楚React路由器Dom是如何工作的,但遇到了一个我甚至不知道如何解决的问题

如果,在App.js中,我有这个代码段,那么所有内容都会在各个部分之间呈现和导航,很好

        <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>

在登录顺序中,代码为:

    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;
从“React”导入React;
从“react router dom”导入{Route,Redirect,Switch};
从“/LoginSequence/loginUserPass”导入UserLoginForm;
从“/LoginSequence/LoginDatabaseSelect”导入LoginDatabaseSelect;
从“/LoginSequence/LoginProjectSelect”导入LoginProjectSelect;
类LoginSequence扩展了React.Component{
渲染(){
console.log('Login Sequence')
返回(
登录顺序
)
}
}
导出默认登录顺序;
但是,这个组件甚至似乎没有被调用,因为console.log不会向console输出任何内容。这意味着没有任何东西在渲染,也没有调用它

有人能告诉我为什么这不起作用吗


编辑:我在调用LoginSequence的代码片段中修复了From并将其更改为Path,因为它没有任何效果,但Path似乎是执行此操作的正常方式。

在重定向中将From更改为Path


在重定向中从更改为路径


不要使用重定向使用路由并调用要渲染的组件

 <Switch>
        <Route path='/login-user' component={UserLoginForm} />
        <Route path='/login-database' component={LoginDatabaseSelect} />
        <Route path='/login-project' component={LoginProjectSelect} />
        <Route path='/' exact component={login-user} />
    </Switch>

不要使用重定向使用路由并调用要渲染的组件

 <Switch>
        <Route path='/login-user' component={UserLoginForm} />
        <Route path='/login-database' component={LoginDatabaseSelect} />
        <Route path='/login-project' component={LoginProjectSelect} />
        <Route path='/' exact component={login-user} />
    </Switch>

与几个人交谈后,看到了更多的例子,一些事情变得更加清晰,解决了这个问题

在App.js中:

        <Switch>
            <Route path='/login' component={LoginSequence} />
            <Redirect path='/' exact to='/login' />
        </Switch>

在和几个人交谈之后,看到了更多的例子,一些事情变得更加清晰,解决了这个问题

在App.js中:

        <Switch>
            <Route path='/login' component={LoginSequence} />
            <Redirect path='/' exact to='/login' />
        </Switch>

似乎没有任何效果。我将重定向到正确的页面(例如/login user),但是,如果通过LoginSequence调用,则不会呈现组件部分。“Login Sequence”(在Login Sequence组件中)的console.log消息也不会触发,但似乎没有任何效果。我将重定向到正确的页面(例如/login user),但是,如果通过LoginSequence调用,则不会呈现组件部分。“Login Sequence”(在Login Sequence组件中)的console.log消息也没有触发。@soufianboutahlil它没有:(不确定重定向上下文中“发件人”和“路径”之间的区别是什么,但在这两种情况下,所有内容都仍然是重定向的,只是在调用LoginSequence组件时,它实际上并不呈现任何内容,而是指向它应该位于的正确页面的链接。@SoufianeBoutahlil它没有:(不确定重定向上下文中from和path之间的区别是什么,但在这两种情况下,所有内容都是重定向的,只是在调用LoginSequence组件时,它实际上并不呈现任何内容,而是呈现到它应该位于的正确页面的链接。我看到有一个登录用户组件,它包含什么?我的理解是它必须是定义和导入的东西。我看到有一个登录用户组件,它包含什么?我的理解是它必须是定义和导入的东西。