我正在尝试在我的URL中传递参数,但我的阅读有问题。我正在使用react-router v4。
网址:http://localhost:3000/reset?token=123我试着这样读:
<Route
path="/reset?token=:token"
component={Reset}/>
但这打印空对象console.log(this.props.match.params);
。奇怪的是,我试图将问号更改为其他字符,看起来它解决了我的问题,但我还是想保留问号。
网址:http://localhost:3000/reset_token=123
<Route
path="/reset_token=:token"
component={Reset}/>
这已经工作了< code > console . log(this . props . match . params);。有没有办法让问号也正确?对我来说,真正重要的是继续使用react-router,而不使用任何外部库。
干杯,丹尼尔
将路径更改为“/reset”。这将使页面呈现的令牌仍在url中,您将能够获取该令牌。快乐编码:)
<Route
path="/reset"
component={Reset}/>
您需要查询字符串
例如:http://yoursite.com/page?search=hello
const queryString = require('query-string')
class ProductsPage extends React.Component {
componentDidMount() {
let search = queryString.parse(this.props.location.search).search
console.log(search) // ==> hello
}
...
}
我是如何解决这个问题的。
http://localhost:3000?token=mypetismissing代码
export default function ({ location }) {
const urlParams = new URLSearchParams(location.search);
const token = urlParams.get('token');
console.log(myParams)
return (
<div>
{token}
</div>
)
}
如果我将路由折叠起来,这样看起来就像: 工作很好。我嵌套的原因是因为我将在“dashboard”下有多个子项,并且希望它们都在URL中以为前缀。
如何使用react router v4获取当前路径? 我尝试了以下方法,但没有成功: 错误: 这是我的Routes.js文件:
使用redux和反应路由器,我想访问路由指定的组件以外的组件上的路由参数。 我已经对react-router、redux和react-router-redux进行了如下设置,我想从我的redux存储访问reportId参数。 我已经尝试连接react-redux路由器来存储路由状态,但是我发现除了活动路由的完整路径之外,redux内部没有任何有用的存储。这让我可以选择从redux中的路径解析出re
在以下React应用程序中,有两个路由URLhttp://myapp 正确布线到布局构件。但是,URLhttp://myapp/login 也路由到布局组件,而不是登录。如果我将path=“/login”更改为“/sign”,它将正确路由到登录组件。 React路由器中的“/login”路径将其路由到路由是否有特殊之处?或者我设置这个路由的方式有错误吗?
我试图在一个容器中获取反应路由器的当前路径,这样我就可以将其传递给一个子组件,该组件将更改它的可见性过滤器。 更具体地说,我试图使导航菜单突出当前活动的页面。 我正在使用redux、redux、react-router和react-router-redux,这样我就可以从redux存储访问路由器状态。 从react-router-redux的docs中,它说要做这样的事情: 以下是我的容器组件:
我在想这样的事情: 前台有一个不同的布局和风格与管理区域。所以在frontpage中的路由是home、about等等,其中一个应该是子路由。 /home应该呈现到Frontpage组件中,而/admin/home应该呈现在后端组件中。 最终解决方案: 这是我现在使用的最终解决方案。这个例子也像传统的404页面一样有一个全局错误组件。