如何在 React 组件中获取路由的参数 我正在使用 react Composer 包中的 react 容器 如果这是整条路线
https://learnbuildrepeat-tevinthuku.c9users.io/ReadProjectMeta/wD98XTTtpf8ceyRJT
如何获取唯一
wD98XTTtpf8ceyRJT
并将其值存储在 React 组件内的变量中。 我试过使用
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))
另一个你可以尝试的纯粹基于 meteor 的东西来自 this reference :
FlowRouter.getParam(":_id");
注意:您的解决方案无效,因为您正在获取查询参数,查询参数是在“?”之后在 url 中传递的参数
即/apps/this-is-my-app?show=yes&color=red
上面代码中color和show是query参数,apps是pathname的一部分
关于javascript - meteor 流路由器并在 react 组件中获取路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316085/