【发布时间】:2021-11-07 11:39:30
【问题描述】:
我有一个带有子组件列表的反应组件。在子组件中,我想定位一个特定的 DOM 元素,例如,在其 ComponentDidMount 方法中更改颜色。我该怎么做?
父组件
export class ListComponent extends Component<...> {
render(): ReactNode {
return (
<div>
<ListItemComponent key="123"/>
<ListItemComponent key="456"/>
<ListItemComponent key="789"/>
</div>
);
}
}
子组件
export class ListComponent extends Component<...> {
componentDidMount(): void {
// const elementToChange = document.queryselector(".toTarget"); // Only works for the first element as it only targets the first on the page
const elementToChange = THISREACTCOMPONENT.queryselector(".toTarget");
elementToChange.style.backgroundColor = "123123";
}
render(): ReactNode {
return (
<div>
<div className="toTarget">
</div>
);
}
}
那么,问题是,应该用什么来代替 THISREACTCOMPONENT?如何在 react 组件中专门定位一个元素?
【问题讨论】:
标签: reactjs typescript components queryselector