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.


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",

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! :)


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


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.


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}`;


-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.


-1

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


-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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.