diff --git a/src/guide/components/props.md b/src/guide/components/props.md index e159a0d4..1dff511b 100644 --- a/src/guide/components/props.md +++ b/src/guide/components/props.md @@ -430,7 +430,7 @@ export default { ### آپدیت کردن پراپ‌های آبجکت / آرایه {#mutating-object-array-props} -وقتی آبجکت یا آرایه به عنوان پراپ پاس داده می‌شوند، درحالی که کامپوننت فرزند نمی‌تواند پراپ‌ها را آپدیت کند، **اما می‌تواند** پراپرتی‌های آبجکت‌ها یا آرایه‌ها را آپدیت کند. دلیل این موضوع این است که در جاوااسکریپت آبجکت‌ها و آرایه‌ها passed by reference هستند، و به دیلی نامعقولی هزینه‌ی زیادی برای Vue دارد که از چنین آپدیت هایی جلوگیری کند. +وقتی آبجکت یا آرایه به عنوان پراپ پاس داده می‌شوند، درحالی که کامپوننت فرزند نمی‌تواند پراپ‌ها را آپدیت کند، **اما می‌تواند** پراپرتی‌های آبجکت‌ها یا آرایه‌ها را آپدیت کند. دلیل این موضوع این است که در جاوااسکریپت آبجکت‌ها و آرایه‌ها passed by reference هستند، و به دلیل نامعقولی هزینه‌ی زیادی برای Vue دارد که از چنین آپدیت هایی جلوگیری کند. اصلی ترین عیب چنین آپدیت‌هایی این است که اجازه می‌دهد دیتا و استیت کامپوننت والد را به گونه‌ای تغییر کند که برای کامپوننت والد مشخص نیست، و به احتمال زیاد باعث سخت‌تر شدن پیگیری و تشخیص جریان داده (data flow) در آینده می‌شود. بهترین راهکار این است که تا حد امکان از آپدیت‌هایی که به این صورت هستند دوری کرد مگر اینکه کامپوننت‌های والد و فرزند نزدیکی زیادی باهم داشته باشند. در اکثر مواقع، کامپوننت فرزند باید یک [event را emit کند](/guide/components/events) تا به کامپوننت والد بگوید آپدیت را ممکن سازد.