Pustaka komponen bertindak balas + modulariti SASS
P粉818306280
P粉818306280 2024-03-26 21:31:03
0
2
322

Saya mula membangunkan perpustakaan komponen React dan ingin menggunakan semula beberapa kod SCSS yang kami kongsi dengan projek bukan React yang lain.

Untuk mencapai matlamat ini, saya cuba menggunakan modul SASS dalam komponen React.

Kes penggunaan mudah berfungsi dengan baik tetapi saya sedang mencipta pustaka komponen dan saya memerlukan berbilang kombinasi gaya untuk komponen tertentu seperti butang.

Kini, saya menemui nilai Button 组件的问题。组件非常简单,但它有 3 个不同的 variant.

Ini ialah Button.tsx fail:

import React from "react";
import styles from "./Button.module.scss";

type Variant = "default" | "primary" | "tertiary";

interface Props {
  children: String;
  variant: Variant;
}

export const Button: React.FC<Props> = ({ children, variant }) => {
  return <button className={`${styles.button} ${variant}`}>{children}</button>;
};

Ini ialah Button.module.scss fail:

.button {
  border: none;
  padding: 0.5rem 1.5rem;
  border-radius: 0.25rem;
  background-color: grey;
  color: white;

  &.default {
    background-color: green;
  }
  &.primary {
    background-color: red;
  }
}

Apa yang saya jangkakan ialah jika saya menggunakan komponen seperti <Buttonvariant="default">I'm green</Button> akan ada butang hijau, tetapi apa yang saya dapat ialah butang kelabu.

Ini adalah contoh pada codesandbox

Saya terperangkap dalam isu ini, bolehkah sesiapa membantu saya menggunakan gaya berbeza berdasarkan nilai prop?

P粉818306280
P粉818306280

membalas semua(2)
P粉504080992

Sila gunakan classnames pustaka npm.

import cn from 'classnames';

P粉244155277
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!