私はをスタイリッシュなコンポーネントで使用しています。ドキュメントは、それが正常に動作しますネストされたオブジェクトのデストラクション:重複宣言 "fontSize"
const Heading = styled.h1`
font-size: ${fontSize};
line-height: ${lineHeight};
margin-bottom: ${marginBottom};
`;
... nested object deconstruction ...
const shevy = new Shevy()
const {
baseSpacing: bs,
h1: {
fontSize,
lineHeight,
marginBottom
}
} = shevy
と私のスタイルを使用する例を示しました。私は次の手順を実行しようとした場合でも、私は前にこのようにネストされたオブジェクトで働いたことがありませんエラーModule build failed: Duplicate declaration "fontSize"
...
const shevy = new Shevy()
const {
baseSpacing: bs,
h1: {
fontSize,
lineHeight,
marginBottom
},
p: {
fontSize
}
} = shevy
const Heading = styled.h1`
font-size: ${fontSize};
line-height: ${lineHeight};
margin-bottom: ${marginBottom};
`;
const Byline = styled.p`
font-size: ${fontSize};
`;
を取得します。 p
内のfontSize
は、p
とh1
からh1
にスコープされると考えられ、styled.p
はどちらを使用するかを知っています。それは確かに意味をなさないだろうが、私はそれがどのように動作するのか非常に疑う。
アイデア?
それに一意の名前を付け? 'pFontSize'と同じですか? – evolutionxbox
'Byline'に使用したい' fontSize'のどれですか?しかし、CSS-in-JSのことをしないでください。 – Ryan
シェーディーなプロパティを新しい変数名に割り当てると、構造が解除されます。これらはユニークである必要があります。なぜshevyプロパティを直接使うのではなく、 'shevy.fontSize'ですか? – evolutionxbox