reactjs - TypeError: نمیتوان خصوصیت 'forEach' را از undefined خواند jest
من در هنگام اجرای مجموعه تست خود با استفاده از Jest با این خطا مواجه میشوم، هرچند که همین کد در کامپایل React بدون مشکل کار میکند. لطفاً به تصویر خطا و کد زیر توجه کنید.
پاسخ شماره ۱
شما میتوانید از زنجیره شرطی برای بررسی اینکه data.tags تهی نیست و متد forEach روی ویژگی tags موجود است استفاده کنید تا از بروز خطاها جلوگیری شود. اما مطمئن شوید که دادههای درست را ارسال میکنید.
const tags:any = [];
data.tags?.forEach?.((tag: Tag) => {
tags.push({ label: tag.label, value: tag.value})
}
پاسخ شماره ۲
شما در حال آزمایش برای !== null هستید اما data شما هیچ ویژگی tags ندارد (و react/typescript از این موضوع آگاه نیست). بنابراین data.tags به undefined ارزیابی میشود.
if(data.tags !== null && data.tags !== undefined) {یا
if(data.tags) {کار خواهد کرد.
