首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >白屏反应

白屏反应
EN

Stack Overflow用户
提问于 2022-03-09 07:43:55
回答 1查看 253关注 0票数 0

当我在我的反应路由器中使用params时,屏幕是白色的:

AppRouter.js:

代码语言:javascript
复制
import {BrowserRouter as Router, Route, Routes} from "react-router-dom";
class AppRoute extends Component {
  render() {
    return(
          <Routes>
            <Route exact path="/product/show/:product" element={<ProductDetailsPage/>} />
          </Routes>
    ) 
  }
}

export default AppRoute;

注意:当我使用组件(带或不带params)而不是元素时,我也有白色的屏幕。

ProductDetailsPage.jsx:

代码语言:javascript
复制
    class ProductDetailsPage extends Component {
    
      constructor({match}){
        super();
        this.state = {
            product: match.params.product,
            products: []
          }
      }
.
.
.
.
    }
    
    export default ProductDetailsPage;

当我删除匹配,我的页面加载正确!

EN

回答 1

Stack Overflow用户

发布于 2022-03-09 07:52:59

与使用match不同,您可以使用react-router-dom中的useParams hook来访问product,如下所示:

代码语言:javascript
复制
 import { useParams } from 'react-router-dom'

 const ProductDetails = () => {
     const {product} = useParams()
 }

我在functional component中使用过这个,但您也可以在class component中使用它。

还有一件事,如果这也不起作用,那么我认为您有一个问题,因为您的product在您的path中有两(2)次,但我不确定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71405888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档