我希望根据我在 React 中的 Slider 上的水平滚动行为来更新我的列表项上的 className。关于如何解决这个问题的任何建议?到目前为止我找不到解决方案。
目前,一个图像填满了窗口的整个宽度,并且在滚动时下一个项目变得可见。但我也想让这个开关在 ul 列表项中可见。基本上,滚动后,我希望列表项 1 中的 className 变为“非活动”,第二个列表项 className 变为“活动”,依此类推。
基本上主要组件看起来像这样:
import React, { Component } from 'react';
import Slider from './Slider';
export default class Property extends Component {
constructor(props) {
super(props);
this.state = {
object: [
{
title: "...",
description: "...",
img: "...",
},
{
...}
]
};
}
render() {
return (
<div id="property">
<div className="detailsWrapper">
<h2>Lodge Highlights</h2>
<Slider object={this.state.object}/>
<ul>
<li className="is-active"></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
)
}
}
我的 Slider 组件如下所示:
import React, { Component } from 'react';
export default class Slider extends Component {
render() {
return (
<div className="higlights_slider">
{this.props.object.map((eachObject, index) => {
return (
<div className="highlights_slider_content" key={eachObject.id} value={eachObject.id}>
<img src={eachObject.img} alt=""/>
<h3>{eachObject.title}</h3>
<h4>{eachObject.description}</h4>
</div>
)
})}
</div>
)
}
}
在我的 css(或 scss)中,我使用 .highlights_slideroverflow-x: scroll
任何帮助表示赞赏!提前致谢!!