javascript - Typescript Yapıcı Parametreleri. Ayrıştırma hatası: Beklenmeyen ayrılmış kelime 'public'
Typescript + React'te bir sınıf oluşturmak istedim ve Typescript yapıcı parametrelerini kullanmaya karar verdim. Ama bunu yaptığımda derleme sırasında bir hata alıyorum.
Bu benim UserData sınıfım
enum SecurityRole {
USER = "USER",
ADMIN= "ADMIN"
}
export class UserData {
constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
}
export const createUserDataFromJson = (json: any): UserData => {
console.log(`user from json : ` + json)
return new UserData(json.name, json.securityRole)
}
Ama bir hata aldım:
Line 8:17: Parsing error: Unexpected reserved word 'public'
6 | }
7 | export class UserData {
> 8 | constructor(public name: string, readonly securityRole = SecurityRole.USER) { }
| ^
9 | }
10 | export const createUserDataFromJson = (json: any): UserData => {
11 | console.log(`user from json : ` + json)
Bunun tsconfig.json ile ilgili olabileceğini düşündüm, işte burada:
{
"compilerOptions": {
"target": "ESNext",
"module": "esnext",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx",
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true
},
"include": [
"src"
]
}
Projemde npm run build kullanıyorum, bu react-scripts build (4.0.2) anlamına geliyor
npm sürümü 6.14.6 node sürümü v12.18.3
Orada yanlış bir şey mi yaptım? Yoksa bu proje ayarlarımla mı ilgili?
Cevap #1
Bunu package.json dosyama eslintConfig ekleyerek çözmeyi başardım
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
