ฉันรู้ว่านี่เป็นคำถามพื้นฐาน แต่ฉันไม่มีโชคในการหาคำตอบจากที่อื่น
คือstore.dispatch
ในการซิงโครหรือไม่ตรงกันRedux
?
ในกรณีที่เป็นแบบอะซิงโครนัสมีความเป็นไปได้ที่จะเพิ่มการเรียกกลับหลังจากการดำเนินการได้รับการเผยแพร่ตามที่เป็นไปได้React
หรือไม่?
ฉันรู้ว่านี่เป็นคำถามพื้นฐาน แต่ฉันไม่มีโชคในการหาคำตอบจากที่อื่น
คือstore.dispatch
ในการซิงโครหรือไม่ตรงกันRedux
?
ในกรณีที่เป็นแบบอะซิงโครนัสมีความเป็นไปได้ที่จะเพิ่มการเรียกกลับหลังจากการดำเนินการได้รับการเผยแพร่ตามที่เป็นไปได้React
หรือไม่?
คำตอบ:
AFAIK การดำเนินการจัดส่งเป็นแบบซิงโครนัส ในกรณีที่คุณยินดีที่จะจัดการกับการโทรแบบอะซิงโครนัสคุณสามารถใช้thunk-middlewareใน redux ซึ่งการจัดส่งมีให้เป็นฟังก์ชันการโทรกลับซึ่งคุณสามารถเรียกใช้ได้ตามความสะดวกของคุณ สำหรับข้อมูลเพิ่มเติมโปรดดูคำตอบนี้ใน SO by Author เอง: จะส่งการดำเนินการ Redux ด้วยการหมดเวลาได้อย่างไร
thunk
การดำเนินการคือเพื่ออำนวยความสะดวกในการไหลของโค้ดแบบ async เช่นผู้ใช้สามารถส่งการดำเนินการได้เมื่อทำตามสัญญา
ไม่มีใครรู้ดีกว่ารหัสตัวเอง =) อย่างที่คุณเห็นdispatch
คือซิงโครนัสอย่างแน่นอน คำเตือนเดียวที่นี่คือวิธีการจัดเก็บenhancers
สามารถ (และทำ) แทนdispatch
ได้ ตัวอย่างเช่นลองดูที่applyMiddleware
ตัวเพิ่มประสิทธิภาพซึ่งช่วยให้คุณสามารถเชื่อมต่อมิดเดิลแวร์ได้โดยการแทนที่dispatch
วิธีการเริ่มต้นด้วยการใช้งานของมันเอง แม้ว่าฉันไม่เคยเห็น Redux ใด ๆenhancer
ที่จะลบลักษณะซิงโครนัสของdispatch
.
code itself
ลิงก์ของคุณซึ่งจะทำให้ลิงก์ตายเนื่องจากลักษณะการคอมมิต 'ลิงก์ถาวร'
getState()
) แต่mapStateToProps
ไม่ ดังนั้นthis.props.value
ค่าเก่าในขณะที่getState().value
เป็นค่าใหม่--codeandbox.io/s/reactredux-forked-0m5eo?file=/Page.js