Saya menggunakan kelas reaksi di dalam file HTML saya. Semuanya berfungsi dengan baik jika saya memiliki this.state di dalam konstruktor kelas. Tetapi jika saya ingin melakukannya di luar konstruktor seperti state= {key: value, key2: value2 ...}, itu tidak berhasil. Sebenarnya, sepertinya saya tidak dapat menggunakan apa pun selain metode di dalam kelas saya (di luar konstruktor.) Ini memberikan "Token tak terduga" dan menempatkan panah kecil di bawah operator penugasan "=". Ketika saya menggunakan create-react-app, semua masalah hilang, jadi saya ingin tahu mengapa referensi di dalam HTML menyebabkan ini?

-1
Alisarp 2 Juli 2020, 03:25

1 menjawab

Jawaban Terbaik

Anda mencoba menggunakan properti kelas yang belum menjadi bagian dari javascript, Anda dapat instal plugin babel untuk mengaktifkan fitur ini. Jalankan saja

npm install @babel/plugin-proposal-class-properties

Kemudian tambahkan ke file konfigurasi .babelrc Anda sehingga akan terlihat seperti ini

{
    "presets": [
        "@babel/preset-env",
        "@babel/preset-react"
    ],
    "plugins": [
        "@babel/plugin-proposal-class-properties"
    ]
}

Catatan: jika Anda menggunakan CDN alih-alih alat build seperti webpack, maka Anda harus menggunakan babel-standalone CDN bukan babel-core seperti:

<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

Create-react-app menginstal plugin ini, itulah sebabnya plugin ini bekerja untuk Anda saat Anda membuat aplikasi reaksi dengan create-react-app.

0
Hassan Azzam 2 Juli 2020, 21:02