Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 动态路由无法在浏览器中刷新?_Reactjs_Next.js - Fatal编程技术网

Reactjs 动态路由无法在浏览器中刷新?

Reactjs 动态路由无法在浏览器中刷新?,reactjs,next.js,Reactjs,Next.js,我有一个使用下一个路由的react应用程序。导航按预期工作,但使用页面刷新带有自定义路由404s的页面不存在 这仅适用于包含参数的动态管线 routes.js: const routes = require('next-routes')(); routes .add('/campaigns/new', '/campaigns/new') //fine .add('/campaigns/:address', '/campaigns/show') //fails .add(

我有一个使用下一个路由的react应用程序。导航按预期工作,但使用
页面刷新带有自定义路由404s的页面不存在

这仅适用于包含参数的动态管线

routes.js:

const routes = require('next-routes')();

routes
  .add('/campaigns/new', '/campaigns/new')  //fine     
  .add('/campaigns/:address', '/campaigns/show') //fails
  .add('/campaigns/:address/requests', '/campaigns/requests/index') //fails
  .add('/campaigns/:address/requests/new', '/campaigns/requests/new'); //fails

module.exports = routes;

如何配置路由以允许刷新自定义路由?

在浏览器中刷新路由或手动输入url将导致浏览器向指定的url发出网络请求。阻止浏览器的默认功能,并更新地址栏中的路由以模拟典型的非spa web应用程序的工作方式,因此路由在应用程序中工作。如果您需要此功能,那么正确的方法是在后端的所有路由上返回index.html文件。如果您没有后端,那么对于某些静态主机有一些解决方法。是使路由与github页面一起工作的一种方法。

正如Canan已经提到的,您的服务器不知道您创建的路由,因此抛出了一个
404
错误。您需要告诉您的服务器(不是Next,而是Express或
http
)这些位置有动态路由。要了解如何实现这一目标,请执行以下操作:

//server.js
const next=require(‘next’)
const routes=require(“./routes”)//{
快报()
.使用(处理程序)//