Я всюду искал ответ на этот вопрос - и я почти уверен, что именно так я выложил свои Компоненты в своем приложении React:
Создавая свою страницу портфолио в React, яиспользовал приложение CREATE REACT APP, и после того, как оно было полностью завершено и функционировало локально, я внес необходимые изменения в файл package.json для домашней страницы, сборки и т. д. Затем, когда я развернул с помощью Yarn, ссылка на хост открывала мой сайт - но без таковойиз моих компонентов: СОДЕРЖАНИЕ.Этот компонент содержит переключатель, который, в соответствии с маршрутом, будет отображать правильное содержимое в теле страницы, содержащей этот маршрут.
Когда я нажимаю на навигационную панель, я перехожу на любой из трех маршрутов, включая правильно отображаемую домашнюю страницу, но домашняя страница будет отображаться только после первой загрузки страницы и нажатия на навигационную панель.
Почему это?Опять же - он работает локально, просто отлично, но на страницах GH показывает только заголовок, NavBar и нижний колонтитул для домашней страницы при первой загрузке.
Спасибо,
Rideout
См. Код ниже:
Размещенный URL на страницах GH:
https://operasinger.github.io/VRideout-Portfolio-React/
Partial Package.json:
"homepage": "http://operasinger.github.io/VRideout-Portfolio-React/",
"name": "vrideout-portfolio-react",
"scripts": {
"predeploy": "yarn run build",
"deploy": "gh-pages -d build"
},
App.js:
import React, { Component } from "react";
// import { Link } from "react-router-dom";
// import './Fonts.css';
import "./App.css";
import "bootstrap/dist/css/bootstrap.min.css";
import Navbar from "./components/navbar";
import Content from "./components/content";
class App extends Component {
render() {
return (
<div className="App container-fluid" id="background">
<div className="container">
<div className="row jumbotronNavy">
<div className="col-md-4 blue" id="headBlue">
<h1>Vale Rideout</h1>
</div>
<div className="col-md-4 blue" />
<div className="col-md-4 blue">
<Navbar />
</div>
</div>
<div className="row" id="content">
<Content />
</div>
<div className="row justify-content-md-center" id="jumbotronFooter">
<p>© 2018 vale rideout</p>
</div>
</div>
</div>
// </div>
);
}
}
export default App;
Компонент содержимого:
import React from "react";
import { Switch, Route, BrowserRouter } from "react-router-dom";
import About from "./about";
import Projects from "./projects";
import Contact from "./contact";
const Content = () => {
return (
<BrowserRouter>
<Switch>
<Route exact path="/" component={About} />
<Route path="/projects" component={Projects} />
<Route path="/contact" component={Contact} />
</Switch>
</BrowserRouter>
);
};
export default Content;
Это домашняя страница, когдапосещение размещенного на GH Pages URL
При обновлении в GH Pages полный маршрут рендерится
Я уверен, что это очень маленькая проблема, но этопоможет мне с развертыванием приложений React - я уверен, что это не проблема, свойственная React.
Спасибо!
Rideout