Как связать компоненты React внутри тега привязки

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

Это мой компонент:

import React from 'react';
import AddNewFileMT from './AddNewFileMT';
import Home from '../routes/Home';

const SideMenu = () => {
    return (
        <div>
            <nav>
                <div>
                    <ul className = "sidebar"> 
                        <br />  
                        <li>
                            <a href = {<Home />}>Home<i className = "fas fa-home"></i></a>
                        </li>
                        <li>
                            <a href = {<Archive />}>Archive<i className = "fas fa-archive"></i></a>
                        </li>
                        <li>
                            <a href = {<AddNewFileMT />}>Add New<i className = "fas fa-folder-open"></i></a>
                        </li>
                        <li>
                            <a href = {<Analytics />}>Analytics<i className = "fas fa-chart-pie"></i></a>
                        </li>
                    </ul>
                </div>    
            </nav> 
        </div>
    );
};

export default SideMenu;

Тогда в моем маршруте у меня есть это:

import React from 'react'
import Header from '../components/Header'
import SideMenu from '../components/SideMenu'
import RegionalMap from '../components/RegionalMap'
import Footer from '../components/Footer'

export const Home = () => {
    return (
        <div>
            <Header />
            <SideMenu />
            <RegionalMap/>
            <Footer />
        </div>
    )
};

export default Home;

Это адрес в браузере при нажатии на элемент бокового меню: http://локальный:3001/[объект%20Объект]

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
3 188
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В качестве документации React вы можете использовать элемент Link вместо тега привязки. Например:

    <Link to = "/about">About</Link>

Взгляните на официальную документацию об элементах Link

В вашем случае вы можете использовать

    <Link to = { ROUTES.HOME } key='Home'>Home</Link>
Ответ принят как подходящий

Вам нужно установить react-router-dom

импортируйте Router и Route, затем оберните свои страницы между тегом <Router>. Так:

<Router>
  <Route component = {componentHere} />
  ...
</Router>

затем импортируйте ссылку на панель навигации, оберните ссылки <Link>, затем добавьте атрибут <Link to = {/yourComponentName} />

Подсказка: добавьте точный атрибут на свою домашнюю страницу, иначе все URL-адреса будут перенаправлены на «/», которая является вашей домашней страницей.

Большое спасибо!

TrannyCyborg 15.12.2020 06:14

Другие вопросы по теме