การตั้งชื่อตัวแปรต้องตั้งให้เข้าใจมากกว่านี้ example => ``` questionDetails => questionDetail question => questionName errorQ => isError choiceDesc => choiceDescription ```  -- ควรแยก function validate อีก 1 เพื่อให้ง่ายต่อการ debug, แยก function validate เพื่อ return validate output [true, false], จากนั้นสร้าง function ในการ submit อีก 1 function, ควรมีหรือใช้การ setState ให้เกิดขึ้นใน function ให้น้อยที่สุด  -- ควรสร้างตัวแปรเพื่อกำหนดค่าเริ่มต้นที่มีรูปแบบคล้ายหรือเหมือนกันไว้ใช้ร่วมกัน หากมีกรณีมีการแก้ object นี้เกิดขึ้นจะได้แก้แค่ตัวเดียวหรือเผื่อไว้ในกรณีที่ลืมแก้อีกตัว  -- การจัด indent spaces ควรเท่ากันทุกไฟล์ใน project  -- ชื่อ type หรือ interface ทั้งหมดขึ้นต้นด้วยตัวใหญ่ ref: https://www.typescriptlang.org/docs/handbook/2/objects.html  -- อธิบาย logic ในการ delete เพิ่มเติมให้ฟังหน่อย  -- ตอน onchange ค่าต่าง ๆ ของ field เราไม่ควรที่จะ access ถึงค่า state หรือตัวแปร โดยตรง ควรสร้างตัวแปรใหม่มารับเพื่อนำค่าไปใช้แก้ไขต่อ  -- function นี้ และ function อื่น ๆ ที่มีการทำงานคล้าย ๆ กันแบบนี้ เราแก้ไขแค่ค่าบางตัว เช่น `choices` `choiceDesc` `errorC` เราสามารถแก้ไข function ให้ไม่ต้อง reference ค่าอื่น ๆ และแก้ไขค่าโดยตรงได้เลย  -- ประมาณนี้ก่อนสำหรับโปรเจคนี้ 😁
การตั้งชื่อตัวแปรต้องตั้งให้เข้าใจมากกว่านี้ example =>
ควรแยก function validate อีก 1 เพื่อให้ง่ายต่อการ debug, แยก function validate เพื่อ return validate output [true, false], จากนั้นสร้าง function ในการ submit อีก 1 function, ควรมีหรือใช้การ setState ให้เกิดขึ้นใน function ให้น้อยที่สุด

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

การจัด indent spaces ควรเท่ากันทุกไฟล์ใน project

ชื่อ type หรือ interface ทั้งหมดขึ้นต้นด้วยตัวใหญ่ ref: https://www.typescriptlang.org/docs/handbook/2/objects.html

อธิบาย logic ในการ delete เพิ่มเติมให้ฟังหน่อย

ตอน onchange ค่าต่าง ๆ ของ field เราไม่ควรที่จะ access ถึงค่า state หรือตัวแปร โดยตรง ควรสร้างตัวแปรใหม่มารับเพื่อนำค่าไปใช้แก้ไขต่อ

function นี้ และ function อื่น ๆ ที่มีการทำงานคล้าย ๆ กันแบบนี้ เราแก้ไขแค่ค่าบางตัว เช่น

choiceschoiceDescerrorCเราสามารถแก้ไข function ให้ไม่ต้อง reference ค่าอื่น ๆ และแก้ไขค่าโดยตรงได้เลยประมาณนี้ก่อนสำหรับโปรเจคนี้ 😁