我试图创建一个页面显示自己的可能性,只要数据存在 - 我使用WordPress REST API,最终用户将能够为自己创建显然赢得的页面&#39 ; t出现在路由器中,因为我无法预见他们最终想要创建的所有页面。
我尝试解决此问题的方法是将一些通配符传递给react-router(图1)。
图1:
因此,根据我的理解,如果用户访问了我的网站并放入/giraffe
,则会将他们带到<About />
组件,并将/giraffe
放入pageSlug
参数。但是,它会将:slug
放在该参数中。
当我使用React Dev Tools时,我可以看到我的<App />
(顶级)组件和我的<About />
组件之间有一个没有名称且有参数的元素 - 参见图2:
这个组件包含以下信息<component location={pathname: "/giraffe", search: "", hash: ""} params={slug: "giraffe"} />
等。有什么方法可以将这些参数传递到路线中吗?
以下是我如何返回我的<About />
组件 - 图3:
这是我第一次使用React和React-Router,所以我很欣赏这可能是一个愚蠢的问题,或者我可能做错了,但是我一直在搜索问题和几个小时的答案,而且不是更明智的。我觉得我应该能够访问这些参数,但不知道。
帮助?
答案 0 :(得分:1)
来自docs:
当路线与URL匹配时,将呈现路线的组件。路由器在渲染时会将以下属性注入到组件中。
PARAMS
网址的动态细分。
因此,如果您的路线定义如下:
<Route path="/:slug" component={About} />
您可以访问this.props.params.slug
以获取参数值。