[解決済み] ホバー時に別のスタイル付きコンポーネントをターゲットにする
2022-03-07 20:10:39
質問
スタイルドコンポーネントでフーバーを処理する最良の方法は何ですか?私は、ホバーされるとボタンを表示するラッピング要素を持っています。
コンポーネントに状態を実装して、ホバー時にプロパティをトグルすることもできますが、styled-componentsでこれを行うより良い方法があるかどうか疑問に思っています。
以下のようなものは動作しませんが、理想的です。
const Wrapper = styled.div`
border-radius: 0.25rem;
overflow: hidden;
box-shadow: 0 3px 10px -3px rgba(0, 0, 0, 0.25);
&:not(:last-child) {
margin-bottom: 2rem;
}
&:hover {
.button {
display: none;
}
}
`
解決方法は?
styled-components v2 では、他のスタイル付きコンポーネントを補間して、その自動生成されたクラス名を参照することができます。あなたの場合、おそらくこのようなことをしたいでしょう。
const Wrapper = styled.div`
&:hover ${Button} {
display: none;
}
`
参照 ドキュメント をご覧ください。
コンポーネントの順番は重要です。これは、以下の場合にのみ動作します。
Button
の上/前に定義されています。
Wrapper
.
v1を使用していてこれを行う必要がある場合、カスタムクラス名を使用することで回避することができます。
const Wrapper = styled.div`
&:hover .my__unique__button__class-asdf123 {
display: none;
}
`
<Wrapper>
<Button className="my__unique__button__class-asdf123" />
</Wrapper>
v2はv1からのドロップインアップグレードなので、アップデートをお勧めしますが、それができない場合は、この方法でうまく回避してください。
関連
-
[解決済み】Reactでclsxを使用する方法
-
[解決済み】プリセットファイルはオブジェクトのエクスポートができない
-
[解決済み] MUI Boxは何のためのコンポーネントですか?
-
[解決済み] jest: テストスイートの実行に失敗しました。予期しないトークンのインポート
-
[解決済み] componentWillReceiveProps は名称が変更されました。
-
[解決済み] reactのuseStateフックでコールバックを使う方法 [重複]。
-
[解決済み] React JSXのforEach()でHTMLが出力されない
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] Reactコンポーネント外でのクリックを検出する
-
[解決済み] ReactJSでコンポーネントがtext型の非制御入力を制御エラーに変更する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】プリセットファイルはオブジェクトのエクスポートができない
-
[解決済み] React テキストを挟んだ横長の仕切りを作る
-
[解決済み] material-ui-pickers KeyboardDatePicker をモーメントで使用するには?
-
[解決済み] リアクトです。<tr>は<td>の子として表示できません。コメント > td > tr を参照してください。
-
[解決済み] Webpack のコンパイルに失敗した
-
[解決済み] React - _this2.SetStateは関数ではありません。
-
[解決済み] は、gatsby-imageで動作する良いreactのカルーセルコンポーネントはありますか?[って聞かれます。]
-
[解決済み] Static HTML elements with event handlers require a role." を修正するにはどうすればよいですか?
-
[解決済み] Error: yarn start - エラー コマンド "start" が見つかりません。
-
[解決済み] react-router-domを使用する際に「Function components cannot be given refs」を回避する方法は?