问题标签 [react-router-dom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1654 浏览

reactjs - 无法使用 REACT-ROUTER-DOM 重定向

我有这种搜索方法,我想在搜索后重定向用户。问题是它什么也没做,我不知道为什么。this.props.history 已定义,但对象“history”的“location”属性似乎没有根据我在 push 方法的参数('./connexion')中输入的内容发生相应变化...... URL 没有也不改变。搜索方法是绑定的,我用来export default withRouter(SearchBar);通过道具访问历史记录。知道我在其他文件中使用完全相同的东西(this.props.history.push() 和 withRouter)并且它工作正常......我使用"react-router-dom": "^4.1.1"browserHistory。

完整文件:

非常感谢你 !

0 投票
1 回答
5549 浏览

typescript - React Router DOM 的 Typescript 错误

安装react-router-domhistory使用纱线后,安装它们各自的类型定义(@types/react-router-dom@types/history),我正在阅读以下错误。谁能帮我解决它们,因为我不太清楚如何添加“构造或调用签名”,也不明白我传递给Route组件的组件有什么问题。

以下是错误:

这是文件:

这是我的 package.json:

如果有人想仔细查看所有代码,这里是我的 github 存储库的链接。

0 投票
3 回答
1069 浏览

webpack-2 - 使用反应路由器 v4 进行代码拆分

在 react router v3 中,我已经使用 实现了代码拆分System.import,现在我想将我的应用程序升级到 react-router-v4,但问题是我无法拆分我的代码。

我的routes.js档案

然后我只是在我的index.js文件中导入路由并将它们呈现给 rootNode 就像

0 投票
3 回答
5311 浏览

reactjs - JSX 元素类型 'Route' 没有任何构造或调用签名

我正在将代码从 javascript 替换为 typescript。但是,建设失败。
- JSX element type 'Router' does not have any construct or call signatures.
- JSX element type 'Switch' does not have any construct or call signatures.
-JSX element type 'Route' does not have any construct or call signatures.

如何修复此错误?

错误代码

当我使用import { Route } from 'react-router-dom';.

0 投票
1 回答
374 浏览

react-router - react-router-v4 支持动态路由吗?

我尝试使用 v3 动态添加路由,但它不支持它。React-router-v4 是否支持动态路由?

0 投票
2 回答
1188 浏览

reactjs - 反应路线未显示

我有一条未渲染的路线。这可能是一个菜鸟问题,但我尝试了一切。使用最新版本的 React、react-route-dom 和 es6。

我的 App.js:

我的组件:

我的检查员:

反应检查员

元素检查器

0 投票
4 回答
101404 浏览

javascript - 如何通过在反应路由器 v4 中单击按钮来导航路径?

我在 react-router-dom 中有这样的路径:

一切正常,现在在我的组件中的任何地方我想通过 onClick 更改路径,代码如下:

我怎样才能做到这一点?

0 投票
1 回答
44 浏览

javascript - 反应路由器定义我自己的链接

所以<Link />处理路由器导航的 onClick 的实现很简单:

这是从github repo中提取的

所以在我的应用程序中它应该可以工作,因为上下文是从<Router>组件传递下来的,对吗?

但正如您在控制台输出中看到的那样,历史对象是未定义的......

0 投票
1 回答
1849 浏览

reactjs - MobX + React Router 4 + @withRouter 总是在路由改变时重新渲染

我正在使用 MobX @observer 和 @withRouter (react-router-v4) 像这样包装页面组件

问题
当路由位置更改时,NavBar 和 Header 组件总是使用相同的道具重新渲染(没有任何状态更新)。react-perf 在路由更改时显示许多浪费的渲染(没有道具/状态更新)。

NavBar 包括 Link 和一些 MobX 状态(仅使用 @observer+@inject 包装的 NavBar)
Header 只是一个无状态组件。

页面组件需要 @withRouter 导致 @observer (MobX) 中断 react-router ( https://github.com/mobxjs/mobx-react/issues/210 )

如何防止 NavBar 和 Header 因路由位置更改而重新渲染?只有当 mobx 状态更新时才允许重新渲染。

0 投票
1 回答
571 浏览

javascript - warning.js:36 警告:失败的道具类型:道具“历史”在“路由器”中标记为必需,但其值为“未定义”

根据以下代码获取标题中的错误:

在此处输入图像描述