mugrow
@mugrow (mugrow)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

React ReduxをbuildしてWebサーバへのデプロイした時にルーティングができません

解決したいこと

React Redux を使用して始めてSPAを作っています。
・connected-react-router
・react-router
でルーティングを実現しています。

ローカル環境では問題なくページ遷移するのですが、buildしてWebサーバにアップロードするとルーティングが反映されません。
ルーティングできるようにbuildする解決法を教えてもらいたいです。
Webサーバのファイルにアクセスすると、h1タグのAPPという文字は表示されています。
また、URL/loginにアクセスしても404ではなくAPPという文字が表示されています。

そもそも、Reactで作成したSPAはbuildしてWebサーバにアップロード(デプロイ)するという考え自体から間違っているのでしょうか?

宜しくお願いします。

App.js
import React from 'react'
import Router from './Router'

const App = () =>
{
  return(
    <main>
      <h1>APP</h1>
      <Router />
    </main>
  )
}

export default App

index.js
import React from 'react';
import ReactDOM from 'react-dom';
import {Provider} from 'react-redux';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import {ConnectedRouter} from 'connected-react-router';
import * as History from 'history';
import createStore from './reducks/store/store';

const history = History.createBrowserHistory();
export const store = createStore(history)

ReactDOM.render(
  <Provider store={store}>
    <ConnectedRouter history={history}>
      <App />
    </ConnectedRouter>
  </Provider>,
  document.getElementById('root')
);

reportWebVitals();

Router.jsx
import React from 'react';
import {Route, Switch} from "react-router";
import {
  Home,
  Login
} from "./templates";

const Router = () =>
{
  return(
    <Switch>
      <Route exact path="(/)?" component={Home} />
      <Route exact path="/login" component={Login} />
    </Switch>
  )
}

export default Router
0

No Answers yet.

Your answer might help someone💌