avatar
·3 dk okuma
React Projelerinde Tailwind Css Kullanımı

React Projelerinde Tailwind Css Kullanımı

Tailwind CSS, bir CSS framework'üdür. Kullanımı kolay ve hızlıdır ve birçok stil, tasarım ve düzenleme özelliği sağlar. Bu özellikler, bir web sitesi veya uygulama için gerekli olan düzeni, renkleri ve diğer özellikleri oluşturmayı daha hızlı ve daha kolay hale getirir.

Neden kullanmalıyız?

  • Hız: CSS yazmak yerine, hazır sınıflar kullanarak hızlıca tasarım yapmak mümkündür.

  • Özelleştirme: Özelleştirilebilir bir framework olduğundan, istenilen renk, boyut, yazı tipi vb. kolayca değiştirilebilir.

  • DRY: "Don't repeat yourself" prensibine uygun olup, kod tekrarını önler.

  • Responsive: Mobil uyumlu olacak şekilde tasarlanmıştır.

Avantajları:

  • Hızlı ve kolay tasarım sağlar.

  • Daha az kod yazarak daha fazla şey yapmanıza olanak sağlar.

  • Özelleştirilebilir olduğundan, tasarımcıların istediği şekilde ayarlayabilecekleri birçok özellik sağlar.

  • Mobil uyumlu olacak şekilde tasarlanmıştır.

Dezavantajları:

  • Özelleştirme konusunda bilgi sahibi olmayan kişiler için zor olabilir.

  • Yüksek öğrenme eğrisi: Framework'ün tüm özelliklerini öğrenmek zaman alabilir.

React ile kurulumu nasıl olur?

Tailwind CSS'i React ile kullanmak için, öncelikle Node.js ve NPM yüklü olması gerekiyor. Daha sonra, aşağıdaki komutları çalıştırarak Tailwind CSS ve diğer gerekli bağımlılıkları yükleyin:

npm install -D tailwindcss

Bunun ardından, tailwind.config.js dosyasını oluşturmak için aşağıdaki komutu çalıştırın:

npx tailwindcss init

tailwind.config.js dosyasını aşağıdaki gibi düzenleyin:

/** @type {import('tailwindcss').Config} */
module.exports = {
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
  ],
  theme: {
    extend: {},
  },
  plugins: [],
}

React projenize Tailwind CSS'i dahil etmek için index.css dosyasını oluşturun ve aşağıdaki içeriği ekleyin:

@tailwind base;
@tailwind components;
@tailwind utilities;

React Komponentleri ile Tailwind CSS Kullanımı

Tailwind CSS kullanarak bir tablo bileşeni oluşturmak için, table ve tr elementlerine Tailwind sınıflarını uygulamalıyız. Tablo hücrelerindeki metin için de, td elementleri için ayrı ayrı sınıflar uygulayabiliriz.

function Table() {
  return (
    <table className="table-auto w-full">
      <thead>
        <tr className="bg-gray-200 text-gray-600 uppercase text-sm leading-normal">
          <th className="py-3 px-6 text-left">Adı</th>
          <th className="py-3 px-6 text-left">E-posta</th>
          <th className="py-3 px-6 text-center">Şehir</th>
          <th className="py-3 px-6 text-center">Durum</th>
        </tr>
      </thead>
      <tbody className="text-gray-600 text-sm font-light">
        <tr className="border-b border-gray-200 hover:bg-gray-100">
          <td className="py-3 px-6 text-left whitespace-nowrap">John Doe</td>
          <td className="py-3 px-6 text-left">[email protected]</td>
          <td className="py-3 px-6 text-center">İstanbul</td>
          <td className="py-3 px-6 text-center">
            <span className="bg-green-200 text-green-600 py-1 px-3 rounded-full text-xs">
              Aktif
            </span>
          </td>
        </tr>
        <tr className="border-b border-gray-200 hover:bg-gray-100">
          <td className="py-3 px-6 text-left whitespace-nowrap">Jane Smith</td>
          <td className="py-3 px-6 text-left">[email protected]</td>
          <td className="py-3 px-6 text-center">Ankara</td>
          <td className="py-3 px-6 text-center">
            <span className="bg-red-200 text-red-600 py-1 px-3 rounded-full text-xs">
              Pasif
            </span>
          </td>
        </tr>
        <tr className="border-b border-gray-200 hover:bg-gray-100">
          <td className="py-3 px-6 text-left whitespace-nowrap">Bob Johnson</td>
          <td className="py-3 px-6 text-left">[email protected]</td>
          <td className="py-3 px-6 text-center">İzmir</td>
          <td className="py-3 px-6 text-center">
            <span className="bg-green-200 text-green-600 py-1 px-3 rounded-full text-xs">
              Aktif
            </span>
          </td>
        </tr>
      </tbody>
    </table>
  );
}

ReactDOM.render(<Table />, document.getElementById('root'));

Burada, thead ve tbody etiketleri ile birlikte, th ve td etiketlerine Tailwind sınıfları uyguluyoruz. Ayrıca, satırların arkaplan rengi değişmesi için hover efekti de ekliyoruz. Bu, Tailwind CSS'in hazır sınıfları sayesinde oldukça kolaydır.

Sonuç

Tailwind CSS'in hazır sınıfları, hızlı ve ölçeklenebilir bir şekilde uygulama geliştirmeyi mümkün kılar. Sınıflar, CSS stil dosyaları yerine, HTML elementlerinde doğrudan kullanılabilir, bu sayede stil sayfalarının yönetimi daha da kolaylaşır.

Bu yazıda, React ile Tailwind CSS kullanarak örnek component oluşturduk.

Tailwind CSS, geliştiricilerin daha az kod yazmasına ve stil yapısını daha da kolay hale getirmesine yardımcı olurken, React de yeniden kullanılabilir, bileşen tabanlı bir geliştirme yaklaşımı sunar. Bu iki teknoloji bir arada kullanıldığında, ölçeklenebilir, esnek, ve kolay yönetilebilir uygulamalar geliştirme süreci oldukça hızlanır.