React 嵌套组件的 CSS 修饰会影响内部组件吗?

react 嵌套组件的 css 修饰会影响内部组件吗?

嵌套组件的 css 修饰会不会影响内部组件?

如果你有一个像下面这样嵌套的 react 组件:

<componenta><componentb></componentb></componenta>

那么,对 componenta 设置 css 属性是否会渗透到 componentb 中呢?

答案是:不会

react 使用 css 模块和 css-in-js 等技术来防止 css 渗透。这些技术通过生成随机字符串来为每个组件创建唯一的 css 规则。因此,对 componenta 施加的 css 属性将不会影响 componentb 的样式。

请参阅代码示例,其中 componenta 具有一个红色边框,而 componentb 具有一个蓝色背景:

const componenta = styled.div`
  border: 1px solid red;
`;

const componentb = styled.div`
  background-color: blue;
`;

reactdom.render(
  <componenta><componentb>hello world</componentb></componenta>,
  document.getelementbyid('root')
);

输出:

<div style="border: 1px solid red;">
  <div style="background-color: blue;">Hello World</div>
</div>

如你所见,componentb 的蓝色背景不受 componenta 红色边框的影响。

以上就是React 嵌套组件的 CSS 修饰会影响内部组件吗?的详细内容,更多请关注其它相关文章!