我正在开发一个使用react和react-router构建的新项目.我计划以比以前更清洁的方式重组我的路线.但是,我不想打破用户可能拥有的旧书签.
例如,我的新路线可能如下所示:
<Route path="/" component={Layout}>
<Route component={ItemList} path="items/:category" />
<Route component={ItemDetail} path="item/:designCode" />
</Route>
Run Code Online (Sandbox Code Playgroud)
一些示例路线可以是 - /items/electronics,/ items/gifts.
但是,我有一个遗留代码库,有这种类型的路由 - /electronic-items,/ buy-gifts等.
有没有办法可以创建路由别名,以便能够将这些遗留URL映射到新结构化的URL?
我在Vue 2.0中遇到过类似的东西,但我对反应解决方案特别感兴趣.任何建议(除了 - 使用重定向或使用Vue本身代替:D)?
我正在开发一个需要定义 json-ld 架构的 React 应用程序。我通过 API 获取架构字符串,并且需要将适当的脚本标记添加到我的页面。
我的架构字符串看起来像这样:
[{"@context": "http://schema.org"}]
Run Code Online (Sandbox Code Playgroud)
我希望这会被翻译成:
<script type="application/ld+json">
[{"@context": "http://schema.org"}]
</script>
Run Code Online (Sandbox Code Playgroud)
然而,我在处理双引号时遇到了麻烦,因为它们被转换为等效的 html -"
这就是我的代码的样子:
schemaString = "[{\"@context\": \"http://schema.org\"}]";
render() {
return (<div>{schemaString &&
<script type="application/ld+json">
{schemaString}
</script>}
</div>)
}
Run Code Online (Sandbox Code Playgroud)
生成的html为:
<div>
<script type="application/ld+json">
[{"@context": "http://schema.org"}]
</script>
</div>
Run Code Online (Sandbox Code Playgroud)
关于我在这里缺少什么的任何指示吗?谢谢!