reactjs - 页面中没有加载css background-images,反应
问题描述
我将一个反应类组件导入到应用程序中,该应用程序(在我导入的组件中)具有指向图像的链接,由于运行应用程序,图像没有加载,我不明白如何解决这个问题。第一个链接http
加载成功,但slider-media/images/logreg-bg.jpg
不是
import React from 'react'
import './slider.css'
class Slider extends React.Component {
constructor(props) {
super(props)
this.state = {
images: [
"https://s3.us-east-2.amazonaws.com/dzuz14/thumbnails/canyon.jpg",
"slider-media/images/logreg-bg.jpg",
],
currentIndex: 0,
translateValue: 0
}
}
goToPrevSlide = () => {
if (this.state.currentIndex === 0)
return;
this.setState(prevState => ({
currentIndex: prevState.currentIndex - 1,
translateValue: prevState.translateValue + this.slideWidth()
}))
}
goToNextSlide = () => {
if (this.state.currentIndex === this.state.images.length - 1) {
return this.setState({
currentIndex: 0,
translateValue: 0
})
}
this.setState(prevState => ({
currentIndex: prevState.currentIndex + 1,
translateValue: prevState.translateValue + -(this.slideWidth())
}));
}
slideWidth = () => {
return document.querySelector('.slide').clientWidth
}
render() {
return (
<div className="slider">
<div className="slider-wrapper"
style={{
transform: `translateX(${this.state.translateValue}px)`,
transition: 'transform ease-out 0.45s'
}}>
{
this.state.images.map((image, i) => (
<Slide key={i} image={image} />
))
}
</div>
<LeftArrow
goToPrevSlide={this.goToPrevSlide}
/>
<RightArrow
goToNextSlide={this.goToNextSlide}
/>
</div>
);
}
}
const Slide = ({ image }) => {
const styles = {
backgroundImage: `url(${image})`,
backgroundSize: 'cover',
backgroundRepeat: 'no-repeat',
backgroundPosition: '50% 60%'
}
return <div className="slide" style={styles}></div>
}
const LeftArrow = (props) => {
return (
<div className="backArrow arrow" onClick={props.goToPrevSlide}>
<i className="fa fa-arrow-left fa-2x" aria-hidden="true"></i>
</div>
);
}
const RightArrow = (props) => {
return (
<div className="nextArrow arrow" onClick={props.goToNextSlide}>
<i className="fa fa-arrow-right fa-2x" aria-hidden="true"></i>
</div>
);
}
export default Slider
解决方案
解决问题的一种方法是通过这种方式导入图像,然后使用变量而不是链接。
import forestOutemn from "./slider-media/images/logreg-bg.jpg"
import darkForest from "./slider-media/images/dark-forest.jpg"
import yellowForest from "./slider-media/images/yellow-dark-forest.jpg"
推荐阅读
- python - 带有列表列表的数据操作
- python - Module/class visible in whole project - Python
- css - 使用 span 的响应式文本背景
- ios - Swift:如何查找领域数据库包含自定义字符串
- c++ - 我将如何处理具有不同类的成员函数的函数查找表?
- python - 如何传输 tkinter 窗口但删除重新启动的窗口(已关闭)
- javascript - 按键名分组和聚合对象数组
- node.js - Smartsheet API 的 Node.js 查询参数
- python-3.x - 如何使索引值显示在 x 轴刻度上?
- python - 将 **kwargs 直接传递到多处理池时如何处理它们?