大家好!
我的问题是什么?
我试着制作一个产品细节页面,然后我用这个:
return (
<Router>
<div>
<Header user={this.state.user} setUser={this.setUser} />
</div>
<div className="mx-10">
<Switch>
<Route exact path="/details/:slug" components={() => <Details />} />
<Route exact path="/market/search/:categorie" component={DynamicSearchCategory} />
</Switch>
</div>
</Router>
);这个工作得很好,
/market/search/:categorie,但是如果我想要得到这个页面,/details/:slug,我也尝试过这样做:/market/details/:slug
如果我得到产品详细信息路由,任何内容都不会显示,但是头会出现,但是我想呈现functional components或class components的组件会出现,那么什么也不会显示。
如果我这么做:
console.log(props)
// or
console.log(this.props) // for class components控制台中没有显示任何错误。
我不知道我是否错过了什么,我也不明白为什么/market/search/:categorie运行得很好,而/details/:slug却没有。
这是我的组成部分,他们将收到道具:
class components
import React from 'react'
export default class Details extends React.Component {
constructor(props) {
super(props);
}
componentDidMount() {
console.log(this.props)
}
render() {
return (
<p>Details</p>
)
}
}或在功能组件中:
import React from 'react'
export default function ProductDetails(props) {
console.log(props.match.params.slug)
return (
<>
<p>Product Details</p>
</>
)
}编辑:
在我的领航员里,鼻涕虫出现了。
发布于 2020-10-16 20:15:58
<Route exact path="/details/:slug" components={() => <Details />} />=>
<Route exact path="/details/:slug" component={Details}/>https://stackoverflow.com/questions/64395777
复制相似问题