ReactルーターのURLパラメーターが機能しない

ykadaru

React RouterのURLパラメータ機能を動作させることができません。洞察があれば役に立ちます!「react-router」の代わりに「react-router-dom」を使用しようとしましたが、この人が取得しているエラーが発生しますhttps//github.com/ReactTraining/react-router/issues/1799

localhost:8000を実行すると、アプリは機能します。localhost:8000/123にアクセスすると、ブラウザーはindex.htmlを そのままレンダリングします。ExpressはReactに干渉していますか?Expressで私が持っているのは次のとおりです。

app.get('*', function response(req, res) {
  res.write(middleware.fileSystem.readFileSync(path.join(__dirname, 'dist/index.html')));
  res.end();
});

これが私のmain.jsです:

import 'babel-polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import { Router, browserHistory } from 'react-router';
import Routes from './shared/components/Routes';
const ROOT_ELEMENT = 'app';
ReactDOM.render((
   <Router history={browserHistory}>
   {Routes}
   </Router>
), document.getElementById(ROOT_ELEMENT));

私のroutes.js

import { Route, IndexRoute, Link } from 'react-router';

import App from './App';
import HomePage from '../../pages/home/page';
import AboutPage from '../../pages/about/page';

const Child = ({ match }) => (
  <div>
    <h3>ID: {match.params.id}</h3>
  </div>
)

export default (
  <Route path="/" component={App}>
    <IndexRoute component={HomePage} />
    {/* <Route path="about" component={AboutPage} /> */}
    <Route path="/:id" component={Child} />
  </Route>
);

My Homeコンポーネントは、別のファイルで次のように定義されています(すべてのインポートおよびライフサイクル関数は省略されています)。

export default React.createClass({
  render: function() {
     {* bunch of JSX goes here *}
  }
});

要求に応じて、私のindex.htmlファイル:

<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <title>Consent Form</title>
  <meta name="description" content="Privacy Consent Webform">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <!--Google Material Design Icons-->
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
</head>
<body>
  <div id="app"></div>
</body>
</html>

私のwebpack構成のため、htmlにはスクリプトタグとしてバンドルがありません(バンドルが挿入されます!)(次のコードは構成の一部にすぎません):

entry: [
    'webpack-hot-middleware/client',
    'bootstrap-loader',
    path.join(__dirname, 'src/main.js')
  ],
  output: {
    path: path.join(__dirname, '/dist/'),
    filename: '[name].js',
    publicPath: '/'
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: 'src/index.tpl.html',
      inject: 'body',
      filename: 'index.html'
    })
ykadaru

アプリに新しいルートを追加する場合、ホットリロードに依存して新しいルートとコンポーネントを挿入することはできません。CTRL + Cでnpm startもう一度実行する必要がありました。

これで問題は解決しました!!

また、react-router-domはReact Router v4パッケージですが、react-routerは古いバージョンです。それを指摘してくれた@HalCarletonに感謝します。公式ドキュメントにreact-router-domが示されている間、react-routerのコード例をいたるところに見ましたが、2つの異なるタイプのパッケージがある理由について本当に混乱していました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Reactルーターがパラメーターで機能しない

分類Dev

Reactルーター-オプションのパラメーターが機能しないルート

分類Dev

Reactルーターの複数のパラメーターが機能しない

分類Dev

SiteMapMvcが静的URLの2つのパラメーターで機能しない

分類Dev

URLのGoogleマップズームパラメータが機能しない

分類Dev

SQL Server ReportingServicesのURLパラメーターが機能しない

分類Dev

Laravelルートパラメータが機能しない

分類Dev

カールパラメータ配列が機能しない

分類Dev

FlaskBluePrintルートが複数のパラメーターで機能しない

分類Dev

Angularルーター-$ watch状態パラメーターが機能しない

分類Dev

laravelの「get」パラメーターが機能しない

分類Dev

Reactルーターのパラメーターとクエリが機能していません

分類Dev

パンダOLS-パラメータのプルが機能しない

分類Dev

同じテーブルのINTパラメータが機能しているのに、INNERJOINのVARCHARパラメータが機能していない

分類Dev

$ httpパラメータの取得が機能しない

分類Dev

--load-chromeのextensionパラメータが機能しない

分類Dev

Jenkinsの文字列パラメータが機能しない

分類Dev

追加のqryパラメータが機能しない

分類Dev

YouTubeのshowinfoパラメータが機能しない

分類Dev

パラメータ名fromNameのviewParamが機能しない

分類Dev

バッチ-機能-パラメータが機能しない

分類Dev

YII 2URLルートが$ _GETパラメーターで機能しない

分類Dev

Nuxt-ビルド後の動的パラメータが機能しない

分類Dev

シェル パラメータの展開が AIX で機能しない

分類Dev

ReactおよびReact-ルートリンクパラメータが機能しない

分類Dev

elasticsearchサイズパラメーターが機能しない

分類Dev

Javascript関数パラメーターが機能しない

分類Dev

PowerShellパラメーター 'ValueFromPipeline'が機能しない

分類Dev

DoctrineDBALパラメーターが機能しない

Related 関連記事

  1. 1

    Reactルーターがパラメーターで機能しない

  2. 2

    Reactルーター-オプションのパラメーターが機能しないルート

  3. 3

    Reactルーターの複数のパラメーターが機能しない

  4. 4

    SiteMapMvcが静的URLの2つのパラメーターで機能しない

  5. 5

    URLのGoogleマップズームパラメータが機能しない

  6. 6

    SQL Server ReportingServicesのURLパラメーターが機能しない

  7. 7

    Laravelルートパラメータが機能しない

  8. 8

    カールパラメータ配列が機能しない

  9. 9

    FlaskBluePrintルートが複数のパラメーターで機能しない

  10. 10

    Angularルーター-$ watch状態パラメーターが機能しない

  11. 11

    laravelの「get」パラメーターが機能しない

  12. 12

    Reactルーターのパラメーターとクエリが機能していません

  13. 13

    パンダOLS-パラメータのプルが機能しない

  14. 14

    同じテーブルのINTパラメータが機能しているのに、INNERJOINのVARCHARパラメータが機能していない

  15. 15

    $ httpパラメータの取得が機能しない

  16. 16

    --load-chromeのextensionパラメータが機能しない

  17. 17

    Jenkinsの文字列パラメータが機能しない

  18. 18

    追加のqryパラメータが機能しない

  19. 19

    YouTubeのshowinfoパラメータが機能しない

  20. 20

    パラメータ名fromNameのviewParamが機能しない

  21. 21

    バッチ-機能-パラメータが機能しない

  22. 22

    YII 2URLルートが$ _GETパラメーターで機能しない

  23. 23

    Nuxt-ビルド後の動的パラメータが機能しない

  24. 24

    シェル パラメータの展開が AIX で機能しない

  25. 25

    ReactおよびReact-ルートリンクパラメータが機能しない

  26. 26

    elasticsearchサイズパラメーターが機能しない

  27. 27

    Javascript関数パラメーターが機能しない

  28. 28

    PowerShellパラメーター 'ValueFromPipeline'が機能しない

  29. 29

    DoctrineDBALパラメーターが機能しない

ホットタグ

アーカイブ