如何在React.js中获取另一个组件的元素?
我有两个嵌套在App
Component上的CarouselComponent和BannerComponent组件。我想在CarouselComponent中获得BannerComponent中的元素以进行滚动功能。
代码在这里;
-– App.js
....
<App>
<BannerComponent />
<CarouselComponent />
</App>
....
-– BannerComponent.js
...
return(
<div className="banner-div" id="banner-div">
</div>
);
...
-– CarouselComponent.js
...
scrollTo() {
document.getElementById("banner-div") // This doesn't work
}
...
return(
<a onClick={this.scrollTo}></a>
);
我想知道在所有情况下如何在React js中获取元素。
-
React ref
将在这里工作。class SomeComp extends React.Component{ constructor(){ this.carRef = React.createRef(); //create ref } render(){ return( <div> <App> <BannerComponent carRef={this.carRef}/> //pass ref in Banner Component to attach it to required DOM. <CarouselComponent carRef={this.carRef}/> //pass ref to CarouselComponent to use it </App> </div> ) } }
BannerComponent
class BannerComponent extends React.Component{ render(){ return( <div className="banner-div" id="banner-div" ref={this.props.carRef}> </div> ); } }
轮播组件
class CarouselComponent extends React.Component{ scrollTo() { this.props.carRef.current.scrollTo(50) } }
-
如何从React.js中的另一个类组件调用方法
2021-01-31 关注 0 浏览95 1答案
-
React.js:将一个组件包装到另一个组件中
2021-01-31 关注 0 浏览103 1答案
-
如何在React.js中过滤组件/元素数组
2021-01-31 关注 0 浏览92 1答案
-
如何在另一个组件中获取Redux Form数据
2021-01-31 关注 0 浏览84 1答案
-
如何在React或React-Redux中将数据从一个组件传递到另一个组件?
2021-01-31 关注 0 浏览86 1答案
-
React.js如何在组件内部渲染组件?
2021-01-31 关注 0 浏览108 1答案
-
react.js:删除一个组件
2021-01-31 关注 0 浏览53 1答案
-
React.JS中的无效组件元素
2021-01-31 关注 0 浏览76 1答案
-
React.js:如何在点击时添加组件?
2021-01-31 关注 0 浏览171 1答案
-
我如何在React.js中获取HTTP标头
2021-01-31 关注 0 浏览398 1答案