简体   繁体   English

在 ReactJS 中使用多个布局的正确方法是什么

[英]What is the proper way to use multiple layouts in ReactJS

I am new to React.我是 React 的新手。 I need to use multiple layouts in my project.我需要在我的项目中使用多个布局。 I searched for a tutorial but there are so many different ways and couldn't find a working example.我搜索了一个教程,但有很多不同的方法,但找不到一个有效的例子。

Here is my App.js below.下面是我的 App.js。 How can I add the second layout for Login page?如何为登录页面添加第二个布局?

import React, { Component } from 'react';
import { Route } from 'react-router';
import { Layout } from './components/Layout';
import { Home } from './components/Home';
import { FetchData } from './components/FetchData';
import { Counter } from './components/Counter';
import { Urun } from './components/Urun';
import { Sepet } from './components/Sepet';
import { Urunler } from './components/Urunler';

export default class App extends Component {
    displayName = App.name

    render() {
        return (
            <Layout>
                <Route exact path='/' component={Home} />
                <Route path='/counter' component={Counter} />
                <Route path='/fetchdata' component={FetchData} />
                <Route path='/Urun' component={Urun} />
                <Route path='/Sepet' component={Sepet} />
                <Route path='/Urunler' component={Urunler} />      
            </Layout>
        );
    }
}

THIS IS THE ANSWER FROM @Quentin这是@Quentin 的回答

Thanks to @Quentin, he didnt give me the fish but helped me catch the fish.感谢@Quentin,他没有给我鱼,而是帮我钓到了鱼。

This is the App.js这是 App.js

import React, { Component } from 'react';
import { Route } from 'react-router';
import { Home } from './components/Home';
import { FetchData } from './components/FetchData';
import { Counter } from './components/Counter';
import { Urun } from './components/Urun';
import { Sepet } from './components/Sepet';
import { Urunler } from './components/Urunler';
import { Giris } from './components/Giris';
import { Kayit } from './components/Kayit';

export default class App extends Component {
    displayName = App.name

    render() {
        return (
            <div>
                <Route exact path='/' component={Home} />
                <Route path='/counter' component={Counter} />
                <Route path='/fetchdata' component={FetchData} />
                <Route path='/Urun' component={Urun} />
                <Route path='/Sepet' component={Sepet} />
                <Route path='/Urunler' component={Urunler} />
                <Route path='/Giris' component={Giris} />
                <Route path='/Kayit' component={Kayit} />
            </div>
        );
    }
}

This is the Home.js这是 Home.js

import React, { Component } from 'react';
import { Layout } from './Layout';

export class Home extends Component {
    displayName = Home.name

    render() {
        return (
            <Layout>
                <div>
                    ......
                </div>
            </Layout>
        );
    }
}

不管你的Layout组件是什么,把它放在你想要使用它的路由组件中,而不是放在所有路由周围(包括那些你不想使用它的路由)。

Each route has to be rendered in the target layout.每条路线都必须在目标布局中呈现。 for eg https://www.c-sharpcorner.com/article/multiple-layout-in-react-with-react-router-v4/例如https://www.c-sharpcorner.com/article/multiple-layout-in-react-with-react-router-v4/

I think you would need to clarify more between terms layout and component .我认为您需要在术语layoutcomponent之间进行更多澄清。 I assume you asking how to add component?我假设您问如何添加组件?

You would need first create the file ./components/Login.js您首先需要创建文件 ./components/Login.js

import React, { Component } from 'react';

export default class App extends Component {
    render() {
        return (
            <p>Login</p>
        )
    }
}

Then use the following to import:然后使用以下命令导入:

import React, { Component } from 'react';
import { Route } from 'react-router';
import { Layout } from './components/Layout';
import { Home } from './components/Home';
import { FetchData } from './components/FetchData';
import { Counter } from './components/Counter';
import { Urun } from './components/Urun';
import { Sepet } from './components/Sepet';
import { Urunler } from './components/Urunler';
// HERE import your component
import { Login } from './components/Login';

export default class App extends Component {
    displayName = App.name

    render() {
        return (
            <Layout>
                <Route exact path='/' component={Home} />
                <Route path='/counter' component={Counter} />
                <Route path='/fetchdata' component={FetchData} />
                <Route path='/Urun' component={Urun} />
                <Route path='/Sepet' component={Sepet} />
                <Route path='/Urunler' component={Urunler} /> 
                // HERE make it into a route path
                <Route path='/login' component={Login} />      
            </Layout>
        );
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何以正确的方式将Reactjs与Rails应用程序一起使用 - How to use Reactjs with rails application in the proper way 在reactjs中使用setInterval函数的正确位置是什么 - what is the proper place to use setInterval function in reactjs 在 ReactJS 中开发真实世界应用程序的正确方法是什么 - What is the proper way of developing a real world application in ReactJS 在 ReactJS 中操作溢出 flexbox 滚动的正确方法是什么 - What is the proper way of manipulating scroll of overflowed flexbox in ReactJS 什么是使用输入范围侦听器的正确方法 - What is a Proper way to use Input range listener 使用异步存储的正确/正确方法是什么? - What is the proper/right way to use Async Storage? 将Protractor与SystemJS一起使用的正确方法是什么? - What is the proper way to use Protractor with SystemJS? 正确使用多个js文件的方法 - Proper way to use multiple js file 将jQuery与“ use strict”结合使用的正确方法是什么? - What's the proper way to use jQuery in conjunction with 'use strict'? 在没有商店的情况下,使用ReactJS和Flux架构从服务器获取数据的正确方法是什么? - What is the proper way to fetch data from server with ReactJS and Flux architecture where no Store presented?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM