TypeError: undefined makeStyles.js dosyasının 'attach' özelliği okunamıyor


15

Üretim sürümünde MERN uygulamamın Giriş bileşenine erişmeye çalışırken, bu resimde gösterilen aşağıdaki tür hatalardan bir dizi alıyorum:

resim açıklamasını buraya girin

Uygulamam ( https://github.com/ahaq0/kumon_schedule ) yerel olarak mükemmel çalışıyor ve bugün daha önce Heroku'da barındırılan mükemmel şekilde çalışıyordu.

Bugün yaptığım koddaki tüm değişiklikleri geri almaya çalıştım. Benzer şekilde, malzeme kullanıcı arabirimi bağımlılığını değiştirip değiştirmediğimi görmek için package.json (ve .lock) öğesini kontrol ettim, ancak aynıydı. Neden burada barındırılan sürümünde aniden çalışmayı durdurdu anlayamıyorum .

Hatanın satırının kodu aşağıdadır. Ancak, malzeme arayüzünün bir parçası olduğu için yazmadım.

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;

Bu benim ilk konuşlandırılan uygulamamdır ve işleri geri almak için en iyi girişimlerime rağmen her şeyin çalışmadan çalışmamasına nasıl gittiğimi kaybettim.

Düzenle. Firefox'ta ve hata günlüğünün nereden geldiğini Chrome'da test ettiğimi belirtmeliyim.

Düzenle # 2. Çok daha fazla hata ayıklamadan sonra Heroku üzerinden fccc55a5 işlemek için geri dönersem hatanın gittiğini öğrendim. Ancak, bu taahhütle yeni bir şube yaparsam ve o dalı konuşlandırmaya çalışırsam, çalışmaz.

Lütfen buraya bakın https://github.com/ahaq0/kumon_schedule/compare/fccc55a5...fccc55a5

Heroku'daki son yapıya döndüğümde işe yarayacak. Ama eğer önceki taahhüdü yeni bir dalda birleştirir ve konuşlandırmaya çalışırsam, yapmaz.


Bu düzeltildi mi?
Mike K

Cevabımla geçici olarak çözebilirsiniz: stackoverflow.com/a/59514748/3971297
Alfonso M. García Astorga

Yanıtlar:


10

"Bağımlılıklar" a "jss": "10.0.0" eklemek: {} benim için sorunu düzeltti

--- 30.12.19 güncellendi ---

"jss" artık kaldırılabilir,

hata düzeltildi:

"@material-ui/core": "4.8.2",

1
Bu benim için çalıştı, teşekkürler, bu sorunu vuruyorsanız, yüklediğiniz malzeme-ui çekirdeğinin sürümünü kontrol edin, yükseltin (veya "^ 4.XX" kullanıyorsanız) sadece node_modules'ü ve package.lock dosyasını kaldırın. json veya yarn.lock.json ve yeni bir npm kurulumu gerçekleştirin
Braulio

6

yarnBenim gibi kullanıyorsanız resolutions, package.jsonhedefleme jss 10.0.0sürümünüze bir alan ekleyerek bunu çözebilirsiniz .

package.json şöyle görünmelidir:

{

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

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

Çözümümü Github'da da paylaştım (ve diğerleri için işe yaradı gibi görünüyor): https://github.com/mui-org/material-ui/issues/19005#issuecomment-569447204

Sizin için de işe yaradıysa lütfen cevabı kabul edin! :)


Sorunun bu olduğunu nereden bildin?
Mike K

2
@MikeK, jss 10.0.1sürümde Malzeme UI birimi testlerini bozan değişiklikler yayınladı. Daha fazla bilgi için: github.com/cssinjs/jss/issues/1249
Alfonso M. García Astorga


1

Aynı sorunla karşı karşıyayım. @ Material-ui / core ^ 4.4.0'ı @ material-ui / core ^ 4.8.1 olarak güncellediğim için oldu. Yeni sürümde veya hatada bazı değişiklikler olabilir. En son sürüm sadece dört gün önce yayınlandı, bu yüzden henüz bir çözüm olmayabilir. Ancak sorununuz için @ material-ui / core ^ 4.4.0 sürümüne veya kullandığınız material-ui'nin önceki sürümüne geçmeyi deneyin, çalışması gerekir. Önceki taahhütlere geri dönmeye gerek yoktur.


Materyal-ui npm güncellendikten sonra tüm bağımlılıkları güncellenir, böylece basit düşürme çalışmaz. Daha iyi bir çözüm, tüm "nodemodules" klasörünü silmek ve package.json ve package-lock.json öğelerini önceki işlemden aynı dosyalarla değiştirmektir (güncellemeden hemen önce). Sonra npm yükleyin, bunu yaptım ve her şey iyi çalışıyor.
Lalit Jharbade

1

Ben sorun jss ve Box bileşeni ile olduğunu düşünüyorum @material-ui/core

Düzeltilene kadar styled-components, Box bileşenini yükledim ve yeniden yazdım:

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

Aynı sorunla karşı karşıya. @ Material-ui / core ^ 4.7.1'deydim, denemeye gittim ve kilit dosyasını ve düğüm_modüllerini kaldırdım. Sonra sorunla karşılaştım. Sorun, güncel sürümlere kadar @ material-ui / styles'da görünüyor.

Güncelleme @ material-ui / core'u 4.6.1'e döndürerek sorunu çözdü, kilit dosyasını ve node_modules'ü kaldırarak paketleri tekrar yükledi.


-1

Hızlı çözüm: '.attach ()' özelliğini dynamicSheet.update (sahne) öğesinden silin. Üretim enveleri için önerilmez, ancak herhangi bir yerel geliştirici env için hızlı bir düzeltme.


-1

npm kullanarak:
1- node_modules klasörünü ve package-lock.json dosyasını kaldırın
2- package.json dosyasını açın
3- bunu bağımlılıklar altında değiştirin veya ekleyin: "@ material-ui / core": "^ 4.6.1",
4- npm i
benim sorun çözüldü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.