What is wrong here:
let organization = organizationList2[context.params?.organizationId];
Failed to compile.
./pages/[lang]/designer/[organizationId].tsx:337:40
Type error: Type 'string[]' cannot be used as an index type.
335 | });
336 | let organizationList2 = await organizationList2Data.json();
> 337 | let organization = organizationList2[context.params?.organizationId];
Strange why rganization
is undefined
.
organizationList2 {
'EC763372-277D-46B9-AD87-F45519E7D606': {
name: 'TADA moment',
events: { 'tada-moment-asztalivaza': [Object] }
},
'E8495FF0-B2DB-439A-98AA-873843635D3A': {
name: 'Olovka Stúdió',
events: { 'olovka-studio-peyote-gyuru': [Object] }
},
'AAE00290-39D6-4F32-A2FB-208F054B24AE': {
events: { 'zer-jewel-rez-gyertyatarto': [Object] },
name: 'Zer Jewel'
},
'637F7B7D-DD4E-4FE5-944E-99628187D8C2': {
events: { 'yo-self-szinezz-textilmintat': [Object] },
name: 'Yo Self'
},
'5E6A24C0-6E5B-4F53-BCFB-1D08254BD630': {
name: 'Bognár Angéla',
events: { 'bognar-angela-bortaska': [Object] }
},
'49350609-A83F-41AB-9CC1-A482D52AF2F5': {
userRating: '4.6',
socialNetworkContact: '',
shopPhysicalLocation: '',
name: 'Repityke',
events: { 'repityke-origami-penztarca': [Object] }
},
'63DCAEF9-2A26-4FDF-BACA-921339E62450': {
events: { 'kredenc-muterem-betonlampa': [Object] },
name: 'Kredenc Műterem'
},
'7181FDC7-A58E-45B1-A377-A21E4C62442C': {
userRating: '4.5',
socialNetworkContact: 'instagram/kutasibeata',
shopPhysicalLocation: 'Szeghalom, Magyarország',
designerIntroduction: 'Kutasi Beáta vagyok, bőrtárgy-tervező iparművész. 2011-ben alapítottam saját műhelyt, ahol egyedi tervezésű táskák és kiegészítők kivitelezésével foglalkozom. A minőségi, természetes alapanyagokat kedvelem, a tárgyaim elkészítésénél a bőrt szívesen kombinálom pamut zsinórfonallal, gyapjúfilccel, fával. Törekszem a tradícionális kézműves technikák életben tartására. Célom, hogy táskáim olyan emberekre találjanak, akik ragaszkodnak a kiválasztottjukhoz és sokáig használják azokat.',
name: 'Kutasi Beáta',
events: { 'kutasi-beata-horgolt-valltaska': [Object] }
}
}
context.params?.organizationId 7181fdc7-a58e-45b1-a377-a21e4c62442c
oraganization undefined
and organizationId
:
let organizationId: string = context.params?.organizationId as string;
and the whole method:
export const getStaticProps: GetStaticProps = async ({ ...context }) => {
let organizationList2Data = await fetch(`${baseURL}getSMOrganizations`, {
method: "post",
headers: { "Content-Type": "application/json" },
});
let organizationList2 = await organizationList2Data.json();
let organization = organizationList2[context.params?.organizationId];
console.log("organizationList2", organizationList2);
console.log("context.params?.organizationId", context.params?.organizationId);
console.log("oraganization", organization);
let zz = Object.keys(organizationList2);
console.log("zz", zz);
let organizationId: string = context.params?.organizationId as string;
return {
props: {
organizationId: context.params?.organizationId,
organization: organization ?? "",
},
revalidate: 600,
};
};
CodePudding user response:
It's because context.params?.organizationId
which is "7181fdc7-a58e-45b1-a377-a21e4c62442c" is lower case and the organizationList2
keys are upper case
just do
let organization = organizationList2[context.params?.organizationId?.toUpperCase()];