我正在使用react路由器(2.4.1),我有一个通配符(path=“*”)回退路由来显示“未找到”组件。
我的其中一条路线定义如下:
<Route path="/campaigns/:category" component={CampaignsPage} />
我可以以任何方式验证类别
路由参数,以检查该类别是否存在于我的类别列表中?如果没有,我希望路由器下降到通配符,以便显示未找到组件
也许您可以在“活动”组件中验证收到的参数?大致如下:
class CampaignsPage extends Component {
render() {
const validCampaignCats = [...]
const receivedCampaignCat = this.props.params.category
const renderChild = (actualCat, validCats) => {
if (!validCats.includes(actualCat)) {
return <YourErrorPage/>
}
return this.props.children
}
return (
<div>
<Header/>
{ renderChild(receivedCampaignCat, validCampaignCats) }
<Footer/>
</div>
)
}
}
希望有帮助!
使用redux和反应路由器,我想访问路由指定的组件以外的组件上的路由参数。 我已经对react-router、redux和react-router-redux进行了如下设置,我想从我的redux存储访问reportId参数。 我已经尝试连接react-redux路由器来存储路由状态,但是我发现除了活动路由的完整路径之外,redux内部没有任何有用的存储。这让我可以选择从redux中的路径解析出re
我用 react 写了一个页面,在这个页面里有几个模块,其中一些模块都有 a 标签,比如 footer.jsx 我想实现的是,当点击这里的 blog 或者 help 后会访问对应的页面,blog 访问 /blog,help 访问 /help。 然后在各自的页面里,可以重定向到其它的页面去,比如 blog -> /blog -> https://blog.domain.com help -> /he
问题内容: 是否可以仅针对XHR请求限制Symfony 2路由?我想声明只能通过AJAX访问的路由。 我不想像这样在每个AJAX特定操作中添加一些额外的行: 我想定义: AJAX请求的一条规则 对相同URL进行GET / POST请求的一条规则 为了避开上述情况。 问题答案: 我知道这个问题有点老,但是与此同时 ,Symfony 2.4* 中引入 了 一种 新的解决方法 。 * 匹配表达式 对于a
我有寻呼路线/电影吗?categoryId=21213在这个页面上,我有一部分演员,点击它应该重定向到/movies?categoryId=21213/演员?actorId=23434234 我应该如何正确地描述用一个actor来渲染我最新的组件?我试过了 但这不起作用
所以我有一些路线,比如<code>/category/tech</code>和<code</categority/tech/new<code>和<code>/category/tech/old</code>等等 他们都使用 或者我必须分别定义它们,就像
大家好,我不知道发生了什么事。我有以下路线: 只有路径为“/”的路由和路径为“/patient/:id”的路由才有效,其他3条路由只是没有显示与路径对应的组件。 这就是我进入路线的方式。我有一个标题组件,上面有正确的链接。见下文 在头组件中,我从'react router dom'导入{Link};在我声明路由的文件中,我从'react router dom'导入{BrowserRouter,Ro