คุณควรใช้ this.setState () เมื่อใช้ redux หรือไม่?


111

คุณควรใช้this.setState()เมื่อใช้ redux หรือไม่? หรือคุณควรจะส่งการกระทำและอาศัยอุปกรณ์ประกอบฉากอยู่เสมอ?


1
ไม่มีอะไรผิดในการมีส่วนประกอบบางอย่างที่มีสถานะ
zerkms

3
นั่นขึ้นอยู่กับว่ารัฐกำลังใช้อยู่ที่ไหน คิดว่าร้านค้า Redux เป็นทั่วโลก สิ่งใดก็ตามที่ไม่จำเป็นต้องเป็นระดับโลกสามารถคงไว้ซึ่งความเป็นส่วนตัวสำหรับส่วนประกอบและลูก ๆ
azium

คำตอบ:


139

การใช้งานที่ชัดเจนsetStateสำหรับส่วนประกอบ UI ที่มีสถานะการแสดงผลในเครื่อง แต่ไม่เกี่ยวข้องกับแอปพลิเคชันส่วนกลาง ตัวอย่างเช่นบูลีนที่แสดงว่าเมนูแบบเลื่อนลงเฉพาะที่แสดงอยู่นั้นไม่จำเป็นต้องอยู่ในสถานะส่วนกลางดังนั้นจึงควบคุมได้อย่างสะดวกยิ่งขึ้นโดยสถานะของส่วนประกอบเมนู

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

ในทางปฏิบัติมักจะง่ายที่สุดในการนำองค์ประกอบ UI ดังกล่าวไปใช้กับสถานะท้องถิ่นและปรับโครงสร้างให้เป็นสถานะสากลตามต้องการ


23
หากต้องการติดตามสิ่งนี้รายการคำถามที่พบบ่อยของ Redux ที่เกี่ยวข้องเน้นย้ำว่าการใช้งานsetStateนั้นใช้ได้ดี : redux.js.org/docs/faq/…
markerikson

2
หากคุณกำลังจะแฮนด์ออฟหรือใช้การเรนเดอร์ฝั่งเซิร์ฟเวอร์ฉันคิดว่าคุณควรใช้ Redux เสมอ
neaumusic

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