logo
/
Electronでreact-routerを使う時はHashRouterを使う
2022-01-05
Electron で react-router を使っていて、リロードすると真っ白になる現象の対処方法 通常ブラウザでreact-routeを使う時はBrowserRouterを使う
Loading...
BrowserRouter は path をそのままURLのPATHで表現してくれるやつ
http://localhost/
http://localhost/config
  • しかし、Electron においてリクエストは / に来るような想定になっているので、BrowserRouter を使っているとおかしくなる。
    • そこで HashRouter というやつを使う
      • Hash は #... というやつ(だとおもう)
    • これだとハッシュで管理されるので常に / にリクエストが行くようになる
Loading...
Router history=hashHistory みたいな書き方は古い書き方。 Electronのproduction環境でasarにある画像などのリソースがnet::ERR_FILE_NOT_FOUNDで読み込めないのはBrowserRouterが原因でした
バンドル(data:base64~)できていない画像等を読み込む際にdev環境では正しく動くが、build後のパスがおかしくなりだめになった。Hashにしたら治った