问题标签 [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.
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。
完整文件:
非常感谢你 !
typescript - React Router DOM 的 Typescript 错误
安装react-router-dom
和history
使用纱线后,安装它们各自的类型定义(@types/react-router-dom
和@types/history
),我正在阅读以下错误。谁能帮我解决它们,因为我不太清楚如何添加“构造或调用签名”,也不明白我传递给Route
组件的组件有什么问题。
以下是错误:
这是文件:
这是我的 package.json:
如果有人想仔细查看所有代码,这里是我的 github 存储库的链接。
webpack-2 - 使用反应路由器 v4 进行代码拆分
在 react router v3 中,我已经使用 实现了代码拆分System.import
,现在我想将我的应用程序升级到 react-router-v4,但问题是我无法拆分我的代码。
我的
routes.js
档案
然后我只是在我的index.js
文件中导入路由并将它们呈现给 rootNode 就像
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';
.
react-router - react-router-v4 支持动态路由吗?
我尝试使用 v3 动态添加路由,但它不支持它。React-router-v4 是否支持动态路由?
javascript - 如何通过在反应路由器 v4 中单击按钮来导航路径?
我在 react-router-dom 中有这样的路径:
一切正常,现在在我的组件中的任何地方我想通过 onClick 更改路径,代码如下:
我怎样才能做到这一点?
javascript - 反应路由器定义我自己的链接
所以<Link />
处理路由器导航的 onClick 的实现很简单:
所以在我的应用程序中它应该可以工作,因为上下文是从<Router>
组件传递下来的,对吗?
但正如您在控制台输出中看到的那样,历史对象是未定义的......
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 状态更新时才允许重新渲染。