2017-06-18 43 views
1

圖像未顯示,我不確定它是否與語法或圖像路徑錯誤有關。Reactjs - 無法在Bootstrap的Jumbotron上設置背景圖像

import React, { Component } from 'react'; 
import { Jumbotron, Button } from 'react-bootstrap'; 
import { Link } from 'react-router-dom' 


class Jumbo extends Component { 
    render() { 
    function myFunction() { 
     console.log('test'); 
    } 

    return (
     <Jumbotron style={styles.container}> 
     <h1>{this.props.title}</h1> 
     <p>In a town like Twin Peaks no one is innocent</p> 
     <Button 
      bsStyle="primary" 
      onClick={myFunction} 
     > 
      Learn more 
     </Button> 
     <Button 
      bsStyle="primary" 
     > 
      <Link to='/contact'>Contact</Link> 
     </Button> 
     </Jumbotron> 
    ); 
    } 
} 

const bgImage = '../images/twin.jpg'; 

const styles = { 
    container: { 
    backgroundImage: `url(${bgImage})` 
    } 
}; 
export default Jumbo; 

'Jumbo'組件位於'Components'目錄中。 'twin.jpg'位於'images'目錄中。請參閱下面的屏幕截圖。

enter image description here

回答

1

這是最有可能的路徑問題 - 反應代碼看起來是正確的。我不確定您的項目是如何設置的,但通常圖片資產會進入您的public目錄。可能public/images。然後你會從你的Web服務器的根目錄訪問它們,則路徑可能會是:

url(/images/twin.jpg)

首先嚐試把圖像在公共文件夾,然後嘗試直接通過瀏覽器的URL訪問它們。

+0

就是這樣。我不知道它應該公開。現在你指出了,這是有道理的。 – Wasteland

0

你應該爲webpack構建項目,然後當你導入圖像時,你將擁有該圖像www或公共文件夾。