MethasakTKL / Questionaire-Form

https://questionaire-form.vercel.app
0 stars 0 forks source link

Fix: currentChoiceId state #1

Open IounOm opened 3 days ago

IounOm commented 3 days ago

การประกาศ React state ไม่ควรใช้ let /components/question.form.tsx

  let [currentChoiceId, setCurrentChoiceId] = React.useState(1);

ปล. ฝากชี้แจงด้วยว่า ทำไมถึงประกาศใช้แบบนี้

MethasakTKL commented 3 days ago

ที่ใช้ let เพราะว่าตอนแรกเจอปัญหาของการ Duplicate Question สมมติว่า Question id=1 มีช้อย 3 ช้อย Choice id = 1 Choice id = 2 Choice id = 3

พอกด duplicate question ไป กลายเป็น Question id=2 มีช้อย 3 ช้อย Choice id = 4 Choice id = 4 Choice id = 4 มันซ้ำกันครับ แล้วพอไปแก้ที่ createID ให้เพิ่มค่ามันติดว่า const เลยไปแก้เป็น let ครับแล้วได้ เดี่ยวยังไงจะไปแก้ไขและหาวิธีใหม่ครับ


From: IounOm @.> Sent: 19 November 2024 16:56 To: MethasakTKL/Questionaire-Form @.> Cc: Subscribed @.***> Subject: [MethasakTKL/Questionaire-Form] Fix: currentChoiceId state (Issue #1)

การประกาศ React state ไม่ควรใช้ let /components/question.form.tsx

let [currentChoiceId, setCurrentChoiceId] = React.useState(1);

ปล. ฝากชี้แจงด้วยว่า ทำไมถึงประกาศใช้แบบนี้

— Reply to this email directly, view it on GitHubhttps://github.com/MethasakTKL/Questionaire-Form/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BGAIXP3QVF2XKVVBTA53H5T2BMDMFAVCNFSM6AAAAABSBV532GVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY3TCNJUHA4TGMI. You are receiving this because you are subscribed to this thread.Message ID: @.***>

MethasakTKL commented 2 days ago

แก้ไขโดยเปลี่ยนเป็นการใช้ uuid ในการสร้าง unique Id ของ choice เพื่อให้ไม่เกิดการซ้ำซ้อนกันของ key

id: uuidv4()

ทำให้ไม่ต้องใช้ createChoiceId() ที่ใช้ let ทำให้แก้กลับไปใช้ const ได้