私が何をしても、パスが「/」の場合は機能しますが、それ以外は何もありません。
const App = () => (
<Router>
<div>
<Route exact path="/" component={Home}/>
<Route path="/test" render={({match}) => match && <h1>Yo</h1>} />
</div>
</Router>
)
パス「/」を作成するとどちらも機能しますが、他のルートを機能させることができず、「Cannot GET /test」というメッセージが表示されます。Create-react-appを使用するとルートを機能させることができるので、エラーはサーバーまたはwebpackに関係している可能性があると思いますが、私はかなり無知です.
サーバー側のコードで何か間違ったことをしている可能性があると思います
const express = require('express');
const app = express();
app.use(express.static('client'));
app.listen(3000, function () {
console.log('Example app listening on port 3000!');
});
私のディレクトリ構造は
client
compiled
bundle.js
App.js
index.html
index.js
results.jsx
server
index.js
助けていただければ幸いです。
将来この問題が発生した場合は、次のコードをサーバー ファイルに追加することで問題を解決できました。
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, '..', 'client', 'index.html'));
});