问题标签 [react-router-component]

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 投票
2 回答
1313 浏览

javascript - 具有多个子节点的 React-router 路由

我的一条路线需要两个孩子来完成我想做的事情。

我定义所有路由的主应用程序页面可能如下所示:

至于 Logs 组件,如果我在 /logs/view/whatever 路由,它将呈现名为 LogApp 的组件,它将是整个页面。

如果它在 /logs/archive/whatever Logs 的一个子组件上,那么会发生什么变化。但这部分工作正常。我不能去工作的是/logs/view/whatever。这是我当前的日志组件:

我知道我对 this.props.children 的使用可能是问题所在,因为我正在处理两个问题。有没有办法解决这个问题?

0 投票
1 回答
659 浏览

reactjs - 您正在为 `Route` 上的 `path` 属性手动调用 React.PropTypes 验证函数

当我在reactjs中使用路由器时收到此警告。

警告:您正在手动React.PropTypes为. 这已被弃用,并且不适用于下一个主要版本的生产。pathRoute

0 投票
4 回答
2450 浏览

reactjs - React Router v4 动画过渡示例

v4 文档中提供的动画过渡示例对我来说似乎有点令人费解,因为它描述了相同组件的淡入和淡出以及调整背景颜色。

我正在尝试将此技术应用于一个更真实的示例,将一个组件淡出另一个组件,但是我无法让它正常工作(它似乎只是将第一个淡出,然后第二个弹出in,并且此转换仅以一种方式起作用(后退按钮不会导致转换)。

这是我的代码,它使用了示例中的精简版本MatchWithFade

我意识到这个问题几乎是这个问题的重复,但是这个问题有一个公认的答案,但实际上并没有回答这个问题。

0 投票
2 回答
1189 浏览

reactjs - react-router v4 - 如何使用“组件”属性为纯函数提供参数

我有以下代码:

但是 ESLint 由于 , 引发了以下警告=>,这是(AFAIK)一种不好的做法,因为它render在每次调用时都会创建函数的新引用,而我不希望这样。

警告 JSX 道具不应该使用箭头函数 react/jsx-no-bind

因此,我正在尝试使用专用但简单的组件来重构它,例如:

但是,我很难弄清楚如何使用它。

首先,我认为我需要使用component而不是render属性,但我不太确定,到目前为止我还没有找到关于它的正确文档。(编辑:https ://react-router.now.sh/Match 这是 v4 的文档

我尝试了几件事,包括以下内容,但它不起作用。

我找到了一些示例,但它们都在 using React.createClass,我宁愿不使用它,因为 usingconst似乎是为无状态组件做事的新“最佳”方式。


一种可能的解决方案是使用扩展 React.Component 的类。但是感觉不对。(并且 ESLint 显示错误

组件应该写成纯函数 react/prefer-stateless-function

来自有关该render方法的文档:(https://react-router.now.sh/Match

您可以传入一个在位置匹配时调用的函数,而不是为您呈现组件。将使用传递给组件的相同道具调用您的渲染函数。 这允许方便的内联匹配渲染和包装。

也许方便,但不被认为是一个好的做法。

有没有办法使用纯函数来代替?

0 投票
1 回答
3267 浏览

reactjs - 发送 404 状态并重定向到 react-router 中的 404 组件

我有一个带有 NotFound 组件的 react-router 3.0.0 设置,我将其显示为后备:

然而,这会返回一个重定向,并且谷歌爬虫抱怨软 404。我可以同时重定向到我的 NotFound 组件并发送 404,类似于 Github 所做的吗?我从这里尝试了以下建议:如何让反应路由器响应 404 状态码?

但这只是给了我一个 404 而不显示组件。

以上如何实现?

0 投票
2 回答
469 浏览

javascript - React 组件可以在 unmounted 状态下使用吗?

我有一个创建事件侦听器并显示链接列表的 React 组件。一旦用户单击链接,就会调用 componentWillUnmount 方法并显示一个新页面。我的组件在卸载后继续运行和处理事件。这可以按预期工作,因为我正在跟踪我的控件是否已安装,并根据已安装/未安装状态调用通过道具传递的函数。

一切似乎都工作正常,但我在 React 文档中读过,“componentWillUnmount() 在组件被卸载和销毁之前立即被调用”。我也知道 isMounted 是一种反模式,所以我正在跟踪控件是否是我自己安装的。我的组件被销毁只是时间问题,还是我的事件监听器阻止它被销毁?

0 投票
2 回答
12469 浏览

reactjs - React 路由器 v4 不适用于 Redux

使用 React 路由器 v4 开发 React 应用程序。在我在我的应用程序中引入 Redux 之前,一切都运行良好。从那时起,单击链接更改路由时,浏览器 url 会发生变化,但与路由对应的组件没有被加载。如果我注释掉 Redux 代码,效果会很好。这可能是什么原因造成的?这是我的路由代码:

PS:我在控制台中没有错误。代码运行干净,只是组件不加载。这是 github 上的一个类似线程:4671。我在各个站点上看到了很多线程,但没有一个可以解决这个问题。

0 投票
2 回答
1123 浏览

reactjs - 反应路由器不工作链接到标签

我有三个js文件。家长我要打电话给孩子班。代码是这样的。

这是父类 App.js

FirstPage.js 是这样的

这个页面进行了一个ajax调用并在屏幕上加载了四个图像。如果单击其中一个图像,则应该使用该图像的ID调用另一个js文件,以便可以在全屏中看到特定的图像。

尽管我在控制台中没有收到任何错误,但单击图像后,屏幕上什么也没有出现。代码有什么问题?

React 路由器的版本是v4

0 投票
1 回答
1641 浏览

reactjs - 返回按钮无法返回

我的 App.js 代码从那里完成所有路由

第一页.js

此页面在屏幕上加载了一些图像,当单击其中任何一个时,它会进入全屏模式,即图像和返回链接现在出现在屏幕上。

我在 localhost:8080 上运行代码。当我单击返回按钮时,url 再次更改为 localhost:8080 但显示一个空页面,我希望显示 FirstPage.js。在调试时,我发现最初我的 html 元素有 4 个 div 元素,如 FirstPage.js 的代码中所写 索引页面

但是在我单击按钮后,它导航到 localhost 但 div 元素变为空。 点击后

控制台没有错误,react-router的版本是v4。

0 投票
1 回答
1085 浏览

reactjs - 命名路径在 react-router-dom react js 中不起作用

react-router-dom用于路由目的。这是我的代码:

Route exact path="/:id" component={PersonsPage}/>这行得通,但这Route exact path="/personPage/:id" component={PersonsPage}/>对我不起作用。有人可以澄清/帮助我吗?