TypeError: Tidak dapat membaca properti 'attach' dari makeStyles.js yang tidak ditentukan

15

Saat mencoba mengakses komponen Login aplikasi MERN saya pada versi produksi, saya mendapatkan serangkaian kesalahan tipe berikut yang ditunjukkan pada gambar ini:

masukkan deskripsi gambar di sini

Aplikasi saya ( https://github.com/ahaq0/kumon_schedule ) berfungsi dengan sangat baik secara lokal dan bekerja dengan sangat baik di-host di Heroku sebelumnya hari ini.

Saya mencoba memutar kembali semua perubahan dalam kode yang saya buat hari ini tetapi tidak berhasil. Demikian pula, saya memeriksa package.json (dan .lock) untuk melihat apakah saya mengubah dependensi materi UI tapi itu sama. Sepertinya saya tidak tahu mengapa itu berhenti bekerja tiba-tiba pada versi host di sini .

Kode untuk baris kesalahan ada di bawah ini. Namun, saya tidak menulis karena ini adalah bagian dari materi UI.

if (sheetManager.dynamicStyles) {
    var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({
        link: true
    }, options));
    dynamicSheet.update(props).attach();
    state.dynamicSheet = dynamicSheet;
    state.classes = mergeClasses({
        baseClasses: sheetManager.staticSheet.classes,
        newClasses: dynamicSheet.classes
    });

    if (sheetsRegistry) {
        sheetsRegistry.add(dynamicSheet);
    }
} else {
    state.classes = sheetManager.staticSheet.classes;
}

sheetManager.refs += 1;

Ini adalah aplikasi saya yang pertama kali digunakan dan saya bingung bagaimana semuanya berubah dari bekerja menjadi tidak berfungsi meskipun upaya terbaik saya untuk membalikkan keadaan.

Edit. Saya harus menyebutkan saya menguji di Firefox dan juga Chrome dari mana log kesalahan berasal.

Edit # 2. Setelah lebih banyak men-debug saya menemukan bahwa kesalahan hilang jika saya memutar kembali untuk melakukan fccc55a5 via Heroku. Namun, jika saya membuat cabang baru dengan komit itu dan mencoba untuk menyebarkan cabang itu, itu tidak akan berfungsi.

Silakan lihat di sini https://github.com/ahaq0/kumon_schedule/compare/fccc55a5...fccc55a5

Ketika saya kembali ke bangunan terakhir di Heroku itu akan berfungsi. Tetapi jika saya menggabungkan komit sebelumnya ke cabang baru dan mencoba untuk menyebarkannya, itu tidak akan.

Kabur
sumber
Apakah ini sudah diperbaiki?
Mike K
Anda dapat menyelesaikannya sementara dengan jawaban saya: stackoverflow.com/a/59514748/3971297
Alfonso M. García Astorga

Jawaban:

10

Menambahkan "jss": "10.0.0" ke "dependencies": {} memperbaiki masalah untuk saya

--- Diperbarui 30.12.19 ---

"jss" sekarang bisa dihapus,

bug telah diperbaiki di:

"@material-ui/core": "4.8.2",
helm jouta
sumber
1
Itu berhasil bagi saya, terima kasih, jika Anda menekan masalah ini, periksa versi inti material-ui yang telah Anda instal, tingkatkan (atau jika Anda menggunakan "^ 4.XX") hapus saja node_modules, ditambah package.lock. json atau yarn.lock.json dan jalankan instalasi npm baru
Braulio
6

Jika Anda menggunakan yarnseperti saya, maka Anda dapat menyelesaikannya dengan menambahkan resolutionsbidang ke package.jsonpenargetan Andajss 10.0.0 versi .

package.json akan terlihat seperti ini:

{

  "dependencies": {
    "@material-ui/core": "^4.8.1",

  },
  "resolutions": {
    "jss": "10.0.0"
  }
}

Saya membagikan solusi saya di Github juga (dan tampaknya itu bekerja untuk orang lain): https://github.com/mui-org/material-ui/issues/19005#issuecomment-569447204

Harap terima jawabannya jika itu juga berhasil untuk Anda! :)

Alfonso M. García Astorga
sumber
Bagaimana Anda tahu ini masalahnya?
Mike K
2
@MikeK karena jss 10.0.1versi telah menerbitkan perubahan yang melanggar tes unit UI Material. Info lebih lanjut di: github.com/cssinjs/jss/issues/1249
Alfonso M. García Astorga
3

Dalam kasus saya itu diselesaikan dengan menghapus komponen Box.

tidak diketahui
sumber
1

Saya menghadapi masalah yang sama. Itu terjadi karena saya memperbarui @ material-ui / core ^ 4.4.0 ke @ material-ui / core ^ 4.8.1. Mungkin ada pemecahan perubahan pada versi baru atau bug. Versi terbaru telah dirilis hanya empat hari yang lalu sehingga mungkin belum ada solusi. Tetapi untuk masalah Anda, coba downgrade ke @ material-ui / core ^ 4.4.0 atau versi sebelumnya dari material-ui yang Anda gunakan, itu seharusnya bekerja. Tidak perlu mengembalikan ke komit sebelumnya.

Lalit Jharbade
sumber
Setelah memperbarui materi-ui npm akan memperbarui semua dependensinya sehingga hanya menurunkan versi tidak akan berhasil. Solusi yang lebih baik adalah dengan menghapus seluruh folder "nodemodules" dan ganti package.json dan package-lock.json dengan file yang sama dari commit sebelumnya (komit sesaat sebelum pembaruan). Kemudian lakukan instalasi npm, saya melakukan ini dan semuanya bekerja dengan baik.
Lalit Jharbade
1

Saya pikir masalahnya adalah dengan jss dan komponen Box di @material-ui/core

Sampai diperbaiki, saya telah menginstal styled-componentsdan menulis ulang komponen Box:

import {
  borders,
  BordersProps,
  display,
  DisplayProps,
  flexbox,
  FlexboxProps,
  palette,
  PaletteProps,
  positions,
  PositionsProps,
  shadows,
  ShadowsProps,
  sizing,
  SizingProps,
  spacing,
  SpacingProps,
  typography,
  TypographyProps,
} from '@material-ui/system';
import styled from 'styled-components';

/*
 * Box with styled-components
 */
export const Box = styled.div<
  BordersProps & DisplayProps & FlexboxProps & PaletteProps & PositionsProps & ShadowsProps & SizingProps & SpacingProps & TypographyProps
>`${borders}${display}${flexbox}${palette}${positions}${shadows}${sizing}${spacing}${typography}`;
Vincent Delacourt
sumber
1

Coba tingkatkan material-uike 4.8.1. Jika tidak berhasil, tambahkan "jss": "10.0.0"ke Anda package.jsonsebagai perbaikan sementara.

Sumber: https://github.com/mui-org/material-ui/issues/19005

Hugo Dias
sumber
1
Menambahkan "jss": "10.0.0"bekerja untuk saya.
Mike K.
-1

Menghadapi masalah yang sama juga. Saya menggunakan @ material-ui / core ^ 4.7.1, saya hanya pergi untuk bereksperimen dan menghapus file kunci dan node_modules. Lalu saya menghadapi masalah. Tampaknya masalah ada di @ material-ui / styles versi terbaru.

Memecahkan masalah dengan mengembalikan memperbarui @ material-ui / core ke 4.6.1, menghapus file kunci dan node_modules, menginstal paket lagi.

kent
sumber
-1

Solusi cepat: hapus properti '.attach ()' dari dynamicSheet.update (props). Namun, tidak disarankan untuk env produksi, ini merupakan perbaikan cepat untuk en-dev lokal.

Z Hanson
sumber
-1

menggunakan npm:
1- hapus folder node_modules dan file package-lock.json
2- buka file package.json
3- ubah atau tambahkan ini di bawah dependensi: "@ material-ui / core": "^ 4.6.1",
4- npm saya
memecahkan masalah saya.

Ali KhodaieeDoost
sumber