const isNotNullNumber = (e: number | undefined) => { if (e !== null && e !== undefined && e !== 0) { return true; } return false; }; //pass eslint if (promotionBadgeData?.discountPercent) { icon1 = <Text>{`${promotionBadgeData?.discountPercent}%\nOff`}</Text>; } //pass eslint if ( promotionBadgeData?.discountPercent !== null && promotionBadgeData?.discountPercent !== undefined && promotionBadgeData?.discountPercent !== 0 ) { icon1 = <Text>{`${promotionBadgeData?.discountPercent}%\nOff`}</Text>; } //fail eslint if (isNotNullNumber(promotionBadgeData?.discountPercent)) { icon1 = <Text>{`${promotionBadgeData?.discountPercent}%\nOff`}</Text>; }
in this case, use the global function to null check and it will show
ESLint: Invalid type "number | undefined" of template literal expression.(@typescript-eslint/restrict-template-expressions)
so, is it possible use the global function to null check and pass the ESLint?