ฉันรู้ว่านี่เป็นคำถามพื้นฐาน แต่ฉันไม่มีโชคในการหาคำตอบจากที่อื่น
คือ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