Próbuję uzyskać dostęp do obrazu statycznego, aby użyć go we backgroundImage
właściwości inline w React. Niestety, wyczerpałem się, jak to zrobić.
Ogólnie myślałem, że zrobiłeś tak:
import Background from '../images/background_image.png';
var sectionStyle = {
width: "100%",
height: "400px",
backgroundImage: "url(" + { Background } + ")"
};
class Section extends Component {
render() {
return (
<section style={ sectionStyle }>
</section>
);
}
}
Działa to z <img>
tagami. Czy ktoś może wyjaśnić różnicę między nimi?
Przykład:
<img src={ Background } />
działa dobrze.
Dziękuję Ci!
javascript
reactjs
Kris
źródło
źródło
style={{backgroundImage: "url(" + Background + ")"}}
url(${Background})
}; klasa Sekcja rozszerza Component {render () {return (<section style = {sectionStyle}> </section>); }}Jeśli używasz ES5 -
Jeśli używasz ES6 -
Zasadniczo działa usuwanie niepotrzebnych nawiasów klamrowych przy jednoczesnym dodawaniu wartości do właściwości właściwości backgroundImage
źródło
backgroundImage: `url("${Background}")`
tak, ponieważ twój przykład ES6 nie działał dla mnie.Styl wbudowany, aby ustawić dowolny obraz na pełnym ekranie:
źródło
Możesz również przenieść obraz do komponentu za pomocą
require()
funkcji.<div style={{ backgroundImage: `url(require("images/img.svg"))` }}>
Zwróć uwagę na dwa zestawy nawiasów klamrowych . Pierwszy zestaw służy do wchodzenia w tryb reagowania, a drugi do oznaczania obiektu
źródło
https://images.com/myimage.png
url(https://images.com/myimage.png)
Zamiast tego możesz użyć literałów szablonów (dołączonych tyłem: `...`) dla
backgroundImage
takich właściwości:źródło
Spróbuj tego:
źródło
Dla mnie działało to tak
źródło
Możesz spróbować usimg
źródło