Giter VIP home page Giter VIP logo

fsweb-s6g1-react-stateful's Introduction

Modül Projesi: React Bileşenleri(Components) ve Bileşen Statleri

Bu proje, bu sprint'te öğrenilen kavram ve teknikleri uygulamanıza ve bunları somut bir projede uygulamanıza olanak tanır. Bu sprintte, React bileşenlerini ve bileşen stateleri incelendi. Sprint sırasında, React'in ne olduğunu, React bileşenlerinin ne olduğunu ve bunların nasıl oluşturulacağını, state'in ne olduğunu ve bir bileşenin state bilgisinin nasıl değiştirilebileceğini ve tıklama işleyicileri(click handlers) ile bileşen state'inin nasıl güncelleneceğini incelediniz. Bu projede, state bilgisi olan çeşitli bileşenleri detaylandırarak bu konu ve ilkelerin yeterliliğini geliştireceksiniz.

Talimatlar

Bu talimatları dikkatlice okuyun. Bu projeye başlamadan önce tam olarak ne beklendiğini anlayın.

Commits

Kodunuz düzenli ve anlamlı bir şekilde commitleyin. Bu, herhangi bir nedenle eski koda dönmeniz gerektiğinde size yardımcı olur.

Açıklama

Bu proje src/components klasörü içinde bir kaç React bileşeni(component) içeriyor. Mevcut formlarında bu bileşenlerin state bilgisi yoktur ve yalnızca sabit kodlanmış bilgileri görüntüler. Tüm bileşenlere gidip, state ekleyip, event handlerlar ve yardımcı fonksiyonlar kullanarak kullanıcıların sayfa üzerinden stateleri değiştirebilmesini sağlayacaksın, yani bileşenleri interaktif hale getireceksin.

Talimatlar

Görev 1: Proje Kurulumu

  • Projeyi forklayarak bir kopyasını oluşturun.
  • Terminali kullanarak kendi forkunuzu klonlayın.
  • Projenin ana klasörüne gidin.
  • npm install komutunu kullanarak projenin dependencylerini indirin. NOT: kurulumdan sonra vulnerability bulursa audit yapmak yerine sadece bu proje için npm install --no-audit komutuyla yükleme yapın.
  • npm start komutuyla projeyi başlatın.
  • npm test komutuyla projeyi test edebilirsiniz. (uygulamanın http://localhost:1234 'da çalışıyor halde olması lazım)
  • Commitinizi pushlayın: git push origin main.

Görev 2a: Minimum Uygulanabilir Ürün

  1. Her bileşen gerekli statelere sahip olmalıdır.
  2. Her bileşenin event handlerları, uygulama kullanıcısının stateleri güncellemesine izin vermesi gerekir.
  3. Güncellenmiş state, her bileşen için DOM'a doğru şekilde yansıtılmalıdır.

Adımlar

  • src/components içindeki tüm bileşenlere işlevsellik katacaksınız.
  • Bileşenler üzerinde Chrome'da görüntülendikleri sırayla çalışın (kolaydan zora doğru).
  • Her dosya bir video bağlantısı ve şu şekilde özetlenebilecek bir dizi talimat içerir:
    • Bitmiş bileşenin demosunun videosunu izleyin ve ne kadar state'e ihtiyaç duyulduğunu düşünün.
    • State hook'u kullanarak gerekli bileşen statelerini oluşturun.
    • JSX'i sabit kodlanmış veriler yerine durumdan türetilen bilgileri gösterecek şekilde düzeltin.
    • Event handlers'ları, kullanıcının sayfayla etkileşim kurarak durumu güncellemesine izin verecek şekilde düzeltin.

Görev 3: Ek Problemler

Gerekli öğelerinizi bitirdikten sonra çalışmanızı daha da ileri götürebilirsiniz. Bu hedefler, bu modülde öğrendiğiniz şeyler olabilir veya olmayabilir, ancak az önce çalıştığınız materyal üzerine inşa edilmelidir. Zaman tanıyın, sınırlarınızı zorlayın ve aşağıdaki isteğe bağlı hedeflere ulaşıp ulaşamayacağınıza bakın:

Ek Hedef 1 (To-Do Listesi)

src/components klasöründe Todos.js dosyası oluşturun. React'te bileşen stateleri (Redux yok!) kullanılarak bir yapılacaklar listesi (to-do list) oluşturma hakkında çevrimiçi bir öğretici bulun ve uygulayın. Yapılacaklar listesini oluşturabilmeli ve tamamlandı olarak işaretlemek için tek tek yapılacakları çizebilmeliyiz (veya kaldırabilmeliyiz).

Ek Hedef 2 (Tic-Tac-Toe) (bildiğimiz XOX oyunu)

Bu projeye bileşen olarak bir Tic Tac Toe oyunu ekleyin. 'X' ve 'O' ların pozisyonları birer state'te tutulmalıdır, JSX 3x3 tabloda sonuçları göstermelidir. İnsan oyuncu tarafından yalnızca boş kareler seçilebilir ve bu tıklamalarla ilgilenen event handlerın biraz mantık içermesi gerekir.:

  1. İnsan oyuncunun son hamlesi oyunun bittiği anlamına mı geliyor?? (O zaman oyunu bitir!)
  2. Oyun belirli bir hamle yaparak bilgisayar tarafından anında kazanılabilir mi? (Bunu da ekleyin!)
  3. Bilgisayar belirli bir hamle yaparak insanın bir sonraki hamlesinde kazanmasını engelleyebilir mi? (Yenilgiyi önle!)

Önceki kontroller olumsuz çıkarsa, bilgisayarın hareketi muhtemelen rastgele olacaktır, ancak "oyun motorunun" ne kadar akıllı hissedeceğine şaşıracaksınız.

İPUCU: React'ın sitesinde dökümanlarda React ile kapsamlı bir Tic Tac Toe oyunu nasıl yapılır adım adım anlatılmıştır, o örneği inceleyebilirsiniz.

fsweb-s6g1-react-stateful's People

Contributors

emresahiner avatar okdemilgin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.