ทำไมรีดิวเซอร์ถึงเป็นฟังก์ชั่นล้วนๆ?

ทำไมรีดิวเซอร์ถึงเป็นฟังก์ชั่นล้วนๆ?
ทำไมรีดิวเซอร์ถึงเป็นฟังก์ชั่นล้วนๆ?
Anonim

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

รีดิวเซอร์เป็นฟังก์ชันที่บริสุทธิ์หรือไม่

ตัวลดคือ ฟังก์ชันบริสุทธิ์ที่รับสถานะและการดำเนินการและคืนสถานะใหม่ ตัวลดขนาดควรปฏิบัติตามกฎต่อไปนี้เสมอ: เมื่อได้รับชุดของอินพุต ตัวลดควรส่งคืนเอาต์พุตเดียวกันเสมอ ไม่มีเรื่องน่าประหลาดใจ ผลข้างเคียง การเรียก API การกลายพันธุ์

ตัวลดแบบบริสุทธิ์คืออะไร

Redux ถือว่ารีดิวเซอร์ยอมรับสถานะปัจจุบันและไม่เปลี่ยนสถานะ แต่จะคืนค่าสถานะใหม่ ขึ้นอยู่กับประเภทการดำเนินการ ถ้ามันยึดติดและไม่เปลี่ยนสถานะแล้ว มันเป็นตัวลดที่บริสุทธิ์

อะไรทำให้ฟังก์ชันบริสุทธิ์

ในการเขียนโปรแกรมคอมพิวเตอร์ ฟังก์ชันบริสุทธิ์คือฟังก์ชันที่มีคุณสมบัติดังต่อไปนี้: ค่าส่งคืนของฟังก์ชัน จะเหมือนกันสำหรับอาร์กิวเมนต์ที่เหมือนกัน (ไม่มีการแปรผันกับตัวแปรสแตติกในเครื่อง ไม่ใช่- ตัวแปรโลคัล อาร์กิวเมนต์อ้างอิงที่เปลี่ยนแปลงได้ หรืออินพุตสตรีม)

ทำไมฟังก์ชั่นบริสุทธิ์ถึงดีกว่า

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