流星流路由器并在反应组件中获取路由参数
Meteor flow router and getting params of route in a react component
如何在 React 组件中获取路由的参数
我正在使用反应作曲家包中的反应容器
如果这是整条路线
https://learnbuildrepeat-tevinthuku.c9users.io/ReadProjectMeta/wD98XTTtpf8ceyRJT
如何才能得到
wD98XTTtpf8ceyRJT
并将其值存储在反应组件内的变量中。
我尝试使用
FlowRouter.getParam()
但它不起作用。我一直未定义
import React from 'react';
export default class ReadProjectMetaLayout extends React.Component {
render() {
var category = FlowRouter.getQueryParam();
console.log(category);
return (
<div>
<h4>Hello World</h4>
</div>
)
}
}
这是路线
FlowRouter.route("/ReadProjectMeta/:_id", {
name: 'project.meta',
action(params) {
mount(ReadProjectMetaLayoutContainer, {
components: (<ReadProjectMeta _id={params._id}/>)
})
}
});
可能是什么问题,我该如何解决
只获取字符串的最后一部分:
location.pathname.substr((location.pathname.lastIndexOf('/')+1))
另一个你可以尝试的纯粹基于流星的东西来自 this reference:
FlowRouter.getParam(":_id");
注意: 您的解决方案在获取查询参数时不起作用,查询参数是在 url 中“?”之后传递的参数
即/apps/this-is-my-app?show=yes&color=red
上面代码中color和show是query参数,apps是pathname的一部分
- FlowRouter.getParam(paramName) returns the value of a single URL
parameter
- FlowRouter.getQueryParam(paramName) returns the value of a single URL query parameter
参考:
https://guide.meteor.com/routing.html#accessing-route-info
如何在 React 组件中获取路由的参数 我正在使用反应作曲家包中的反应容器 如果这是整条路线
https://learnbuildrepeat-tevinthuku.c9users.io/ReadProjectMeta/wD98XTTtpf8ceyRJT
如何才能得到
wD98XTTtpf8ceyRJT
并将其值存储在反应组件内的变量中。 我尝试使用
FlowRouter.getParam()
但它不起作用。我一直未定义
import React from 'react';
export default class ReadProjectMetaLayout extends React.Component {
render() {
var category = FlowRouter.getQueryParam();
console.log(category);
return (
<div>
<h4>Hello World</h4>
</div>
)
}
}
这是路线
FlowRouter.route("/ReadProjectMeta/:_id", {
name: 'project.meta',
action(params) {
mount(ReadProjectMetaLayoutContainer, {
components: (<ReadProjectMeta _id={params._id}/>)
})
}
});
可能是什么问题,我该如何解决
只获取字符串的最后一部分:
location.pathname.substr((location.pathname.lastIndexOf('/')+1))
另一个你可以尝试的纯粹基于流星的东西来自 this reference:
FlowRouter.getParam(":_id");
注意: 您的解决方案在获取查询参数时不起作用,查询参数是在 url 中“?”之后传递的参数
即/apps/this-is-my-app?show=yes&color=red
上面代码中color和show是query参数,apps是pathname的一部分
- FlowRouter.getParam(paramName) returns the value of a single URL parameter
- FlowRouter.getQueryParam(paramName) returns the value of a single URL query parameter
参考: https://guide.meteor.com/routing.html#accessing-route-info