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