🙃
styled-componentsで条件付きレンダー的なことする
styled-components
を使用して書いてます。
基本的に上記の記事を参考にして書くことが多いです。
ふとこの前、特定の条件下だけstyleを付与し条件外の場合は、
何もstyleを指定したくないな。。。と思いました。
もちろん、三項演算子を使えば、
条件外の場合にstyleのデフォルトを指定すれば良いのですが、
いちいちstyleのデフォルトを書くのが時間の無駄感あるので。。。
んー、reactの条件付きレンダー的なことをstyled-components
でできないのかなー
と思ってたらできました。
以下具体的なコードです。
import styled, { css } from "styled-components";
const StyledDiv = styled.div<{ flag: boolean }>`
${({ flag }) =>
flag &&
css``}
`;
こんな感じで、三項演算子を回避していい感じで書けました。
またcss
というのを使ってますが、使わなくてもstyleを適用できます。
ただ、css
を使うとstyleのプロパティに対し、インテリセンス
が効くようになるので、css
つけたほうが楽かな?と思います。
Discussion