Акция-оснастка и Акция-маршрутизатор вместе создают проблему - PullRequest
0 голосов
/ 11 ноября 2018

Мне нужно запустить приложение реагирования, мне нужны предварительный рендеринг и маршрутизация, поэтому я установил реакцию-привязку и реакцию-маршрутизатор. (Реактивирующий маршрутизатор, очевидно, выполняет маршрутизацию и реагирующую привязку для предварительного рендеринга).

Все выглядит хорошо в локальной среде с 'npm start', но когда я делаю производственную сборку и обслуживаю ее, ссылки маршрутизации заставляют страницу перенаправлять на новый URL, так что я всегда вижу только домашнюю страницу.

Мой рендер выглядит так:

 render() {
    return (
      <Router>
        <React.Fragment>
          <MainNav/>
          <Route exact path="/" component={Home}/>
          <Route path="/greeting/:name/:surname" render={(props) => <Greetings text="Hello, " {...props} />} />
          <Route path="/About" component={About}/>
        </React.Fragment>
      </Router>
    );
  }

, и это мой index.js в соответствии с реакцией snap-1008 *

import React from 'react';
import { hydrate, render } from "react-dom";
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';

const rootElement = document.getElementById("root");
if (rootElement.hasChildNodes()) {
  hydrate(<App />, rootElement);
} else {
  render(<App />, rootElement);
}

serviceWorker.unregister();

есть идеи?

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Мне удалось исправить подобную проблему, добавив следующий фрагмент в мой пакет.json

"reactSnap": {
  "fixWebpackChunksIssue": false
}

Проверьте следующую ссылку для получения дополнительной информации и других опций

https://github.com/stereobooster/react-snap/issues/264

0 голосов
/ 28 ноября 2018

Я боролся с этим уже пару недель. Главное, что я заметил, это то, что если я вызову registerServiceWorker () в index.js, приложение будет нормально функционировать после сборки. Если я закомментирую эту строку, приложение только перенаправляет на '/', несмотря ни на что.

Похоже, что вы отменили регистрацию работника службы в вашем index.js, это может вызвать проблему.

Уловка 22, с которой я столкнулся и которую не смог решить, заключается в том, что если я использую вызов registerServiceWorker () в index.js, Reaction-Snap не будет должным образом отображать все маршруты, и если я это сделаю закомментируйте строку registerServiceWorker (), реагирующая привязка прекрасно отрисовывает все маршруты, но приложение не перемещается.

Стоит также отметить, что мой проект был создан с использованием 'create-Reaction-app' и не был удален.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...