[英]How to style child component in a react styled-component?
我似乎無法將內部子組件Product
為向左浮動。 我想在上層父級執行此操作,因此產品本身仍然與位置無關。
import React from 'react';
import Product from './product.js';
import styled from 'styled-components';
const ProductContainer = styled.div`
${Product} {
float: left;
}
`
class ClassProductContainer extends React.Component {
render() {
return (
<ProductContainer>
<Product label="Item 1 £10" />
<Product label="Item 1 £10" />
<Product label="Item 1 £10" />
<Product label="Item 1 £10" />
</ProductContainer>
)
}
}
export default ClassProductContainer;
我在 app.js 中像這樣使用它
import Container from './components/container.js';
import styled from 'styled-components';
import ClassProductContainer from './components/product-container.js';
function App() {
return (
<Container>
<ClassProductContainer />
</Container>
);
}
export default App;
想想看, Product
組件仍然是由不同的 HTML 元素組成的吧? 所以當你這樣做時:
${Product} {
float: left;
}
您究竟要設置哪個 HTML 元素float: left
?
你可以處理這個問題的一種方法是,在Product
組件中,找到你想要設置樣式的確切 HTML 元素,給它一個 className,然后你可以用.whatever-class-name-you-set
替換${Product}
。
但我認為由於樣式需要應用於<Product>
,您應該在 Product 級別創建樣式組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.