Reakt.js, içeriğe dayalı statik bir site için anlamlı mı?


14

Reat.js modelinde oldukça satıldım çünkü DOM manipülasyonunu çok pürüzsüz ve anlaşılır hale getiriyor. Ancak, hareket etmeyen büyük metin ve resimlerle büyük ölçüde statik olan bir site için nasıl kullanılabileceğini merak ediyorum. Sadece yoluna girer mi? Durumlarında KB metin içeren bileşenlere sahip olmak garip görünüyor.


4
Bir çekiç var ve bu vidanın çivi olarak kullanılıp kullanılamayacağını düşünüyoruz. Normalde, teknoloji ile ilgili kararlar “Gereksinimlerimiz X, Y, Z'dir. Hangi çözümler oraya en düşük maliyetle ulaşmamıza izin verecektir?”, “Çözüme sahibim, ama lütfen verebilir misiniz? bana bir sorun mu var? ”. React ile zaten deneyime sahip olmanız, kararı bir şekilde lehine çevirir, ancak hangi gereksinimler karşılanır? Müşteriye veya kullanıcıya nasıl bir değer katar?
amon

4
Bunu belirlemeye çalışıyorum. React bir çekiç veya alet kutusu mu? Kesinlikle Facebook'un sahip olduğu kullanım türlerinde mükemmeldir ve diğer durumlarda berbat olacağını gösteren hiçbir şey görmedim. Kesinlikle daha az ilgi çekicidir, ancak bu mükemmel bir şekilde iyi olmadığı anlamına gelmez.
jiggy

1
Aslında aynı sorularım var. React bileşenleri hakkında her şeyi seviyorum, ancak yalnızca birkaç javascript satırına sahip içerik odaklı siteler için, HTML-JS bağlantısına ve temiz HTML-CSS'den çok durumlara ve olaylara daha fazla odaklanmış gibi görünüyor. Başka bir cazip dilde React bileşenleri gibi bir şey isterdim.
JeroenVdb

Yanıtlar:


10

Ne yapmak istediğinizi bilin, sonra teknolojiyi seçin.

Bu açıdan, React.js çoğunlukla statik bir ağ için aşırıya kaçmış gibi görünüyor.

React web sitesinden:

React'i bir sorunu çözmek için oluşturduk: zaman içinde değişen verilerle büyük uygulamalar oluşturmak.

Reaksiyon belirli bir çivi için bir çekiçtir. Bu, çoğunlukla statik bir web sitesi oluşturma yolunda olacağını gösterir.


2

Statik sayfalar oluşturmak, aşağıdaki belgelerde belirtildiği gibi React'ın beklenen bir kullanımıdır. React.renderToStaticMarkup

Bunun renderToStringharicinde data-react-id, React'in dahili olarak kullandığı gibi ekstra DOM özellikleri oluşturmaz . React'i basit bir statik sayfa oluşturucu olarak kullanmak istiyorsanız bu yararlıdır, çünkü ekstra nitelikleri çıkarmak çok fazla bayt kaydedebilir.

Bazıları burada aşırıya kaçma tepkisi kullanmayı ifade etmişlerdir. Ancak, bir şeyin ölmesini istediğimde, aşırıya kaçmakla ilgili bir sorunum yok. Reaksiyonun bu kullanım durumu için gerekenden çok daha fazlasını yapabilmesi, reaksiyona karşı bir argüman değildir.

Ancak, zaman uyumsuz kod gerçekleştirmek istiyorsanız sorunlar oluşabilir. Aşağıdakileri hayal edelim:

function SchoolClass({classId}) {
   const students = await query("SELECT name FROM student WHERE class = ?", classId);
   return <ul>
      {_.map(students, ({name}) => <li>{name}</li>}
   </ul>
}

Ancak bu işe yaramaz, çünkü işlev bir React öğesi değil bir Promise döndürür ve bu nedenle React ile uyumlu değildir. React tarzı bir statik site oluşturucu çerçevesi tasarlıyorsanız, buna izin vermiş olursunuz. Ancak, React webapp istemcilerine odaklandığından buna izin verilmez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.