在我的 <Switch />
内我使用动态路径动态创建路由,理想情况下所有路由都将加载相同的组件。
我有一个像这样的 JSON 对象:
{
"products": [{"name": "car"}]
}
其中只包含一系列产品,目前只有一个产品名为“汽车”。
在<Switch />
我循环遍历产品以创建如下路线:
{
ProductHelper.getAllProductPages().forEach(product => {
console.log(product.name);
return (
<Route path={'/' + product.name + '/:id' } component={Search} />
);
})
};
控制台日志完美地打印出“汽车”,因此我认为获取产品名称没有问题。但是,当我导航到/car/test 时,我希望这会加载搜索组件,但实际上并没有。
当我创建这样的路线时:
<Route path='/car/test' component={Search} />
这会完美地加载搜索组件,以证明该组件没有问题。
我真的不明白我在这里做错了什么,有人知道吗?
最佳答案
您应该使用.map
而不是.forEach
,因为forEach 不返回数组。 map 确实
关于javascript - 在 react route 使用匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54469601/