react.js เหมาะสมกับไซต์ที่ขับเคลื่อนด้วยเนื้อหาแบบคงที่หรือไม่


14

ฉันขายสวยในรุ่น react.js เพราะมันทำให้การจัดการ DOM เป็นไปอย่างราบรื่นและเข้าใจง่าย แต่ฉันสงสัยว่ามันสามารถใช้ประโยชน์อย่างไรกับไซต์ที่ส่วนใหญ่คงที่ด้วยบล็อกข้อความและรูปภาพขนาดใหญ่ที่ไม่เคลื่อนไหว มันจะเข้าไปขวางทางหรือไม่? ดูเหมือนว่าอึดอัดใจที่จะมีส่วนประกอบที่มีข้อความ KB ในสถานะของพวกเขา


4
คุณมีค้อนและกำลังไตร่ตรองว่าสกรูนี้สามารถใช้เป็นเล็บได้หรือไม่ โดยปกติแล้วการตัดสินใจที่เกี่ยวข้องกับเทคโนโลยีควรทำตามบรรทัด“ ข้อกำหนดของเราคือ X, Y, Z. เทคโนโลยีใดที่จะทำให้เราไปถึงที่นั่นด้วยต้นทุนที่ต่ำที่สุด?” ไม่ใช่“ ฉันมีทางออก แต่คุณช่วยได้ไหม ฉันเป็นปัญหาหรือไม่” ความจริงที่ว่าคุณมีประสบการณ์กับ React แล้วการตัดสินใจจะค่อนข้างเหมาะสม แต่สิ่งที่ต้องการจะเป็นที่พึงพอใจ? สิ่งที่จะเพิ่มมูลค่าให้กับลูกค้าหรือผู้ใช้?
amon

4
นั่นคือสิ่งที่ฉันพยายามจะตัดสิน ทำปฏิกิริยากับค้อนหรือกล่องเครื่องมือหรือไม่? แน่นอนมันยอดเยี่ยมในการใช้งานกรณีที่ Facebook มีและฉันไม่ได้เห็นอะไรเลยที่จะระบุว่ามันจะดูดในกรณีอื่น ๆ มันน่าสนใจน้อยกว่า แต่ก็ไม่ได้หมายความว่ามันไม่ได้ดีอย่างสมบูรณ์
jiggy

1
ฉันมีคำถามเดียวกันจริง ๆ ฉันรักทุกอย่างเกี่ยวกับส่วนประกอบ React แต่สำหรับเว็บไซต์ที่มีเนื้อหาที่มีจาวาสคริปต์เพียงไม่กี่บรรทัดดูเหมือนว่าจะเน้นไปที่การเชื่อมต่อ HTML-JS และอื่น ๆ ในสถานะและเหตุการณ์มากกว่าล้าง HTML-CSS ฉันรักสิ่งที่ชอบทำปฏิกิริยาส่วนประกอบในภาษาอื่น templating
JeroenVdb

คำตอบ:


10

รู้ว่าคุณต้องการทำอะไรจากนั้นเลือกเทคโนโลยี

จากมุมมองดังกล่าว React.js ดูเหมือนจะเกินความเป็นจริงสำหรับเว็บส่วนใหญ่ที่คงที่

จากเว็บไซต์ของ React:

เราสร้าง React เพื่อแก้ปัญหาเดียว: การสร้างแอปพลิเคชันขนาดใหญ่ด้วยข้อมูลที่เปลี่ยนแปลงตลอดเวลา

React เป็นค้อนสำหรับเล็บเฉพาะ ที่จะบ่งบอกว่ามันจะได้รับในทางของการสร้างเว็บไซต์ส่วนใหญ่คงที่


2

การสร้างหน้าสแตติกเป็นการใช้ React ตามที่คาดไว้ในเอกสารประกอบสำหรับ React.renderToStaticMarkup

คล้ายกับrenderToStringยกเว้นสิ่งนี้จะไม่สร้างแอตทริบิวต์ DOM พิเศษเช่นdata-react-idที่ React ใช้ภายใน สิ่งนี้มีประโยชน์หากคุณต้องการใช้ React เป็นเครื่องมือสร้างเพจแบบสแตติกธรรมดาเนื่องจากการแยกแอททริบิวต์พิเศษออกมาจะช่วยประหยัดจำนวนไบต์ได้

บางคนเรียกว่าใช้ปฏิกิริยามากเกินไป อย่างไรก็ตามเมื่อฉันต้องการบางสิ่งบางอย่างที่ตายแล้วฉันไม่มีปัญหากับ overkilling ความจริงที่ว่าการตอบสนองสามารถทำได้มากกว่าสิ่งที่จำเป็นสำหรับกรณีการใช้งานนี้คือไม่มีการโต้แย้งโต้แย้ง

อย่างไรก็ตามปัญหาอาจเกิดขึ้นหากคุณต้องการทำรหัสแบบอะซิงโครนัส ลองจินตนาการถึงสิ่งต่อไปนี้:

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

แต่สิ่งนี้จะไม่ทำงานเนื่องจากฟังก์ชั่นจะคืนค่า Promise ไม่ใช่องค์ประกอบ React ดังนั้นจึงเข้ากันไม่ได้กับ React หากคุณกำลังสร้างเฟรมเวิร์กเครื่องมือสร้างไซต์แบบคงที่แบบโต้ตอบคุณอาจอนุญาตสิ่งนี้ อย่างไรก็ตามเนื่องจาก React ให้ความสำคัญกับไคลเอนต์ของเว็บแอปจึงไม่ได้รับอนุญาต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.