ホームページ > ウェブフロントエンド > フロントエンドQ&A > React の更新時にページが見つからない場合はどうすればよいですか?

React の更新時にページが見つからない場合はどうすればよいですか?

藏色散人
リリース: 2023-01-06 09:26:32
オリジナル
1771 人が閲覧しました

React の更新時にページが見つからない場合の解決策: 1. 「app.jsx」ファイルを見つけて開きます; 2. 「app.jsx」でルーティング プロトコルを定義するときに、「class App extends Component {」を渡しますrender () {return (

..." コードを定義するだけです。

React の更新時にページが見つからない場合はどうすればよいですか?

##このチュートリアルの動作環境: Windows 10 システム、react18.0.0 バージョン、Dell G3 コンピューター。ページが見つかりません。どうすればよいですか?

反応がデプロイされた後、ページを更新するとエラー メッセージが報告されます。ビューが見つかりません

今朝プロジェクトをデプロイした後、ルートをクリックしてジャンプできますが、対応するルートが更新されたときにエラーが報告されました。

Failed to lookup view "error" in views directory
ログイン後にコピー
プロジェクトはローカルでは正常に使用できますが、なぜですかサーバーにデプロイされた後に更新されるとエラーが報告されますか? 対応するビューが見つかりません?

最初にノードの構成ファイルを確認しました。反応プロジェクトの npm 実行ビルドの後、ビルドされたファイルは、ノードのパブリック ファイルに保存されます。このようにして、バックエンド ノード bin/www を起動した後、ノードのパブリック ファイルを読み取ることができます。その後、ノードの app.js ファイルの表示を開始します。ファイルはすべて設定されています

app.set('views', path.join(__dirname, 'views'));
app.engine('.html',require('ejs').__express);
// app.set('view engine', 'jade');
app.set('view engine', 'html');
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public'))); //这句话就是express会读取public里面的静态文件
ログイン後にコピー

バックエンドにエラーがない場合は、フロントエンドのファイルの表示を開始します

ルーティング パスが間違っていたため、ルーティング関連の情報を検索したところ、答えが見つかりました。

BrowserRouter

エラーの原因:

クライアント側のルーティングとサーバー側のルーティングには違いがあります。フロントエンド自体によってレンダリングされるため、ホームページからブラウザ内の他のルーティング アドレスにジャンプします。React Router で対応するルートとスクリプトを定義しました。Web ページはバックグラウンドにアクセスするために更新されませんが、JS は場所を動的に変更します. 更新すると、最初にバックグラウンド アドレスにアクセスし、次に返されたページに React コードがロードされ、最後にブラウザで実行されます。つまり、この時点で 404 が報告された場合は、バックグラウンドではこのルートの HTML コンテンツが返されず、React Router を実行できないためです。

すべてのリクエストがページのindex.html に配置されるように、BrowserRouter ではなく HashRouter を使用してください。サーバー側での構成は必要ありません。

解決策:

app.jsx でルーティング プロトコルを定義する場合、次のように定義できます:

import React, { Component} from 'react';
 import { HashRouter  as Router  } from "react-router-dom";
 import Nav from './component/Menu/Menu';
 import FootContent from './component/Footer/Footer';
 import MinContent from './component/content/mainContent';
 import {Layout} from 'antd';
   class App extends Component {
     render() {
       return (
        <Layout className="layout">
        <Router>
        <div>
        <Nav  />
        <MinContent />
        </div>
      </Router>
      <FootContent />
      </Layout>
       );
     }
   }
 
   export default App;
ログイン後にコピー
推奨調査: "

リアクションビデオチュートリアル

>>

以上がReact の更新時にページが見つからない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート