反应路由器链接包装div背景不显示

时间:2020-01-20 02:42:03

标签: html css reactjs react-router react-router-dom

React-router <Link>刚出现一个有线问题,当我包装一个带有背景的div时,它不会显示图像,但是如果我注释掉Link,背景就会显示出来,有没有人遇到过同样的问题?

       <Link to={{
                    pathname: "/productDetail",
                    search: "?productId=" + props.product.productid
                }}>
                <div
                    className="image"
                    style={{
                        backgroundImage: `url(correctURL)`
                    }}
                />
       </Link>

当我注释掉链接后,网址是正确的,我可以保证原因。

更新: 不起作用:

  <Link to={{
                    pathname: "/productDetail",
                    search: "?productId=" + props.product.productid
                }}>
                <div
                    className="image"
                    style={{
                        backgroundImage: `url(correctURL)`
                    }}
                />
   </Link>

sass file:
   .image { 
      width:100%;
      height: 100%;
      background-color: white;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      margin-bottom: 5px;
    }

这是我的解决方案:

  <Link className="link" to={{
                    pathname: "/productDetail",
                    search: "?productId=" + props.product.productid
                }}>
                <div
                    className="image"
                    style={{
                        backgroundImage: `url(correctURL)`
                    }}
                />
  </Link>

sass file:
link {
    text-decoration: none;
    width: 100%;
    height: 100%;
    .image { 
      width:inherit;
      height: inherit;
      background-color: white;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      margin-bottom: 5px;
    }

1 个答案:

答案 0 :(得分:0)

这是您需要定义和放置一些高度的方式。

       <div 
        style={{
        backgroundImage:`url('https://images-eu.ssl-images-amazon.com/images/I/41lMD31ltzL.jpg')`,
        height:'500px'}}>
        </div>

let myUrl = 'https://images-eu.ssl-images-amazon.com/images/I/41lMD31ltzL.jpg';

这样定义

        <div 
        style={{backgroundImage:`url(${myUrl})`,
        height:'500px'}}>
        </div>