Каковы мои требования: у меня есть несколько изображений в моей внешней папке, и мне нужно импортировать в компонент и отобразить его, а также использовать Виртуальный прокрутка здесь я должен отобразить 1 строку в div и в этом 1 ряд должен показывать 5-6 изображений
Что я сделал: я использовал изображения, используя контекст из внешней папки, и показал изображения в 1 строке в div и 5-6 изображениях, но я столкнулся с проблемой, не в состоянии установить Виртуальная прокрутка
, как я проверил плагин реагировать на виртуализацию и реагировать на окно, но я не уверен, как мои данные используются в этом формате
После использования реагирующего крошечного виртуального списка образы складываются
ниже мой код
class App extends React.Component{
state={
Response:[],
}
importAll(r) {
return r.keys().map(r);
}
componentWillMount() {
let data = this.importAll(require.context('./imageFolder/', false, /\.(png|jpe?g|svg)$/));
this.setState({ Response:data})
}
render(){
return(
<div className="container" id="imagecontainer">
<div className="viewport">
{this.state.Response.map((image, index) => <img key={index} src={image} alt="info"></img> )} }
</div>
</div>
)
}
.container {
padding: 0% 6%;
height: 400px;
}
.viewport {
height: -webkit-fill-available;
width: 100%;
border: 1px solid black;
overflow: scroll;
}
img {
height: 250px;
width: 150px;
padding: 35px;
}
After implementing React-tiny-list
<div id="container">
<div id="viewport">
<VirtualList
height='400px'
width='100%'
itemCount={this.state.items.length}
itemSize={20} // Also supports variable heights (array or function getter)
style={{padding:'20px'}}
renderItem={({index, style}) =>
<div key={index} style={style}>
<img key={index} src={this.state.items[index]} alt="info"></img>
</div>
}
/>
</div>
</div>