当前位置: 首页 > 知识库问答 >
问题:

反应路由器不正常工作

薛弘厚
2023-03-14

我是新的反应,不知道为什么这不会起作用。

我的路由器代码在这里:

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

import App from './components/App';  
import HomePage from './components/home/HomePage';  

export default (
  <Route path="/" component={App}>
    <IndexRoute component={HomePage} />
    <Route path="example" component={HomePage} />
  </Route>
);

因此,这段代码所发生的情况是:

localhost/显示良好

const webpack = require('webpack');
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  context: path.join(__dirname, "/client"),
  entry: [
    'webpack-dev-server/client?http://127.0.0.0:5000/',
    'webpack/hot/only-dev-server',
    'react-hot-loader/patch',
    './src/index.js'
  ],
  output: {
    path: path.join(__dirname, "/client/dist"),
    filename: '[name].js',
    publicPath: '/'
  },
  resolve: {
    extensions: ['.js', '.jsx', '.json']
  },
  devServer: {
    historyApiFallback: true
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: [ 'babel-loader', 'react-hot-loader/webpack' ],
      }
    ]
  },
  plugins: [
    new HtmlWebpackPlugin({
      template: './static/template.html',
      inject: 'body',
      filename: 'index.html'
    }),
    new webpack.optimize.OccurrenceOrderPlugin(),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NoEmitOnErrorsPlugin(),
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('development')
    })
  ]
};
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());

app.use(express.static(__dirname + 'client/dist'));
app.use(webpackDevMiddleware(compiler, {
    publicPath: webpackConfig.output.publicPath,
    hot: true,
    historyApiFallback: true,
    stats: {
        colors: true
    }
}));

共有1个答案

岳奇逸
2023-03-14

仅供参考,从4.0版本开始,React路由器不再使用IndexRoute。

对于您的路径,请将“example”更改为“/example”

 类似资料:
  • 我的导航不工作,因为某些原因,我有另一个应用程序运行良好,但这一个不能找到错误,请帮助 反应路由器不工作。反应JS 我需要你的帮助。 使用react-router,我可以使用Link元素创建由react router本地处理的链接。

  • 我的目标是让http://mydomain/route1呈现React组件Component1,让http://mydomain/route2呈现component2。因此,我认为编写如下路线是很自然的: http://mydomain/route1按预期工作,但http://mydomain/route2反而呈现Component1。 然后我读了这个问题,并将路线改为:

  • 我在使用react路由器引导时遇到活动链接问题(https://www.npmjs.com/package/react-router-bootstrap)组成部分。当我导航到“关于”时,活动类不仅出现在“关于”上,而且也出现在“主页”上。 主动链路路由器的问题 这是我的Nav组件从react-bootstrap(https://react-bootstrap.github.io/): NavLin

  • 我已经稍微调整了React路由器的私有路由示例,以便与Redux玩得很好,但是当链接或重定向到其他页面时,不会呈现任何组件。这个例子可以在这里找到: https://reacttraining.com/react-router/web/example/auth-workflow 他们的PrivateRoute组件如下所示: 但是,因为我已经把它合并到一个Redux应用程序中,我不得不稍微调整一下私

  • 考虑以下事项: 我有一个应用模板,一个HeaderTemboard,和参数化的路由集与相同的处理程序(在应用模板)。我希望在没有找到东西的时候能够服务404路线。例如, /CA/SanFrancisco应该由区域查找和处理,而 /SanFranciscoz应该是404。 下面是我如何快速测试路线的。 问题是 /SanFranciscoz总是由区域页面处理,但我希望它是404。此外,如果我向第一个路