我正在使用react,redux,react-router v4,react-router-dom和react-router-redux。我有一个问题,我想在当前的URL上添加一些内容,而不是替换当前的URL。代码是这样的:
const App = () => (
<div>
<main>
<Switch>
<Route path="/category/:categoryName" component={ProductList} />
<Route path="/product/:productId/:infoType" component={ProductDetails} />
<Redirect from='/product/:productId' to={`/product/:productId/details`}/>
<Redirect from='/' to='/category/featured'/>
</Switch>
</main>
</div>
)
这一行:
<Redirect from='/product/:productId' to={`/product/:productId/details`}/>
我想在当前产品网址中添加详细信息(例如/ product / 1 / details)。但反过来路由器重定向到/ product /:productId / details。
如何解决这个问题?有任何想法吗?在此先感谢!!
答案 0 :(得分:0)
这次聚会很晚,但是您将to
属性作为字符串文字传递(但没有表达式)。相反,您应该使用
to={`/product/${productID}/details`}
您当然需要将查询参数存储在productID
中。这将取决于您如何使用路由器-要么获取查询参数(如果可用),要么分配productID,但您认为合适。