ฉันกำลังพยายามแปลง<canvas>
แอนิเมชั่นสุดเจ๋งที่ฉันพบที่นี่ให้เป็นส่วนประกอบที่สามารถนำกลับมาใช้ใหม่ได้ ดูเหมือนว่าคอมโพเนนต์นี้ต้องการคอมโพเนนต์พาเรนต์หนึ่งสำหรับแคนวาสและคอมโพเนนต์ลูกจำนวนมากสำหรับไฟล์function Ball()
.
ด้วยเหตุผลด้านประสิทธิภาพอาจเป็นการดีกว่าที่จะทำให้Balls
เป็นส่วนประกอบที่ไร้สัญชาติเนื่องจากจะมีหลายองค์ประกอบ ฉันไม่คุ้นเคยกับการสร้างส่วนประกอบที่ไร้สัญชาติและสงสัยว่าฉันควรกำหนดthis.update()
และthis.draw
ฟังก์ชันที่กำหนดไว้ที่function Ball()
ใด
ฟังก์ชันสำหรับส่วนประกอบที่ไม่มีสถานะอยู่ภายในส่วนประกอบหรือภายนอก? กล่าวอีกนัยหนึ่งข้อใดต่อไปนี้ดีกว่า
1:
const Ball = (props) => {
const update = () => {
...
}
const draw = () => {
...
}
return (
...
);
}
2:
function update() {
...
}
function draw() {
...
}
const Ball = (props) => {
return (
...
);
}
ข้อดี / ข้อเสียของแต่ละข้อคืออะไรและหนึ่งในนั้นดีกว่าสำหรับกรณีการใช้งานเฉพาะเช่นของฉันหรือไม่