I get response registryReportSettings
from server:
this.getRegistrySettings(registry.Id).subscribe((registryReportSettings: { extended: ReportPropertiesRequest }) => {
const { objectProperties, reportProperties, textProperties } = registryReportSettings?.extended;
}
If it is null
I get an error:
TypeError: Cannot destructure property 'objectProperties' of '(intermediate value)(intermediate value)(intermediate value)' as it is undefined.
How to fix it using TS?
I get response registryReportSettings
from server:
this.getRegistrySettings(registry.Id).subscribe((registryReportSettings: { extended: ReportPropertiesRequest }) => {
const { objectProperties, reportProperties, textProperties } = registryReportSettings?.extended;
}
If it is null
I get an error:
TypeError: Cannot destructure property 'objectProperties' of '(intermediate value)(intermediate value)(intermediate value)' as it is undefined.
How to fix it using TS?
Share Improve this question edited Sep 23, 2021 at 10:18 Audwin Oyong 2,5313 gold badges19 silver badges36 bronze badges asked Sep 21, 2021 at 16:42 user15423370user15423370 1-
Start by properly declaring the type to match the values you're actually getting:
{ extended: ReportPropertiesRequest | null }
– Bergi Commented Sep 24, 2021 at 2:07
1 Answer
Reset to default 9The error means that you try to deconstruct a possible undefined
(Because you use optional chaining)
You can do
const { objectProperties, reportProperties, textProperties } = registryReportSettings?.extended ?? {};
So you will always deconstruct an object