javascript - 在反应中将方法从一个组件转移到另一个组件
问题描述
是否有一个主要组件,其中有一个 gotoFirst 方法返回到滑块的开头,这个方法如何附加到另一个组件的按钮(在我的情况下是 Opened 组件)?规定了 ,但结果是在这个组件中出现了一个工作按钮,并且在 Opened 中的那个按钮在单击时会出错
主要.tsx;
class MainSliderComponent extends Component<any, any> {
slider: any;
constructor(props: any) {
super(props);
this.state = {
slideIndex: 0,
};
}
goToFirst = () => {
this.slider.slickGoTo(this.state.slideIndex);
};
render() {
let settings = {
infinite: false,
centerMode: true,
centerPadding: '60px',
slidesToShow: 3,
responsive: [
{
breakpoint: 768,
settings: {
arrows: false,
centerMode: true,
centerPadding: '40px',
slidesToShow: 3,
},
},
{
breakpoint: 480,
settings: {
arrows: false,
centerMode: true,
centerPadding: '50px',
slidesToShow: 1,
},
},
],
};
return (
<div className="container">
<Opened {...this.props} goToFirst={this.goToFirst} />
<button onClick={this.goToFirst} value={this.state.slideIndex} />
<Slider ref={(slider) => (this.slider = slider)} {...settings}>
{RoomsService.rooms.map((room) => {
return (
<div className="rooms_slider">
<Link to={`/rooms/${room.id}`}>
<img src={room.img} />
</Link>
</div>
);
})}
</Slider>
</div>
);
}
}
Children.tsx;
class Opened extends Component<any, any> {
render() {
return (
<div className="Opened">
<button
className="opened_button"
onClick={() => {
this.props.goToFirst();
}}
>
Открыты
</button>
</div>
);
}
}
解决方案
推荐阅读
- azure - AzCopy 通过通配符模式前缀的目录
- python - bisect.bisect 与 Python 中的 bisect.bisect_right 不同吗?
- javascript - 使用角度模糊时的新数组
- r - 如何从 R 中的数据框中选择一定数量的行
- javascript - 具有相同 ID 的两个元素 - 试图找出我可以更改的内容
- php - 如果来自 2 个不同 MYSQLi 列的 2 个不同字符串匹配,则使用 PHP 计算不同列的每个 ID
- machine-learning - 更改输入大小时如何调整机器学习模型输出层?
- python - 如何在数据子集的组合上对 pandas 数据框应用统计测试(函数)
- swift - Swift Decodable Class 不符合
- typescript - 打字稿:“如果这是故意的,请先将表达式转换为‘未知’。”