reactjs - 类型错误 : Cannot read property 'attach' of undefined makeStyles. js

标签 reactjs typescript heroku material-ui mern

当尝试在生产版本上访问 MERN 应用程序的登录组件时,我收到此图中显示的一系列以下类型错误:

enter image description here

我的应用程序 ( https://github.com/ahaq0/kumon_schedule ) 在本地运行得非常好,并且今天早些时候在 Heroku 上托管时也运行得非常好。

我尝试回滚今天对代码所做的所有更改,但没有成功。同样,我检查了 package.json (和 .lock)以查看是否更改了 Material UI 依赖项,但结果是一样的。我似乎无法弄清楚为什么它在托管版本上突然停止工作 here .

错误行的代码如下。不过,我没有写,因为它是 Material 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;

这是我部署的第一个应用程序,尽管我尽了最大努力来回滚,但我还是不知道如何从工作变成不工作。

编辑。我应该提到我在 Firefox 和 Chrome 中进行了测试,错误日志来自其中。

编辑#2。经过大量调试后,我发现如果我回滚通过 Heroku 提交 fccc55a5,错误就会消失。但是,如果我使用该提交创建一个新分支并尝试部署该分支,它将无法工作。

请看这里 https://github.com/ahaq0/kumon_schedule/compare/fccc55a5...fccc55a5

当我恢复到 Heroku 中的最后一个版本时,它就会工作。但是,如果我将之前的提交合并到新分支并尝试部署它,则不会。

最佳答案

添加 “jss”:“10.0.0” 到 “依赖项”:{} 为我解决了问题

--- 2019 年 12 月 30 日更新 ---

现在可以删除“jss”,

错误已修复:

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

关于reactjs - 类型错误 : Cannot read property 'attach' of undefined makeStyles. js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59508171/

相关文章:

javascript - 在推送对象时,我得到的所有内容都是 NULL angular2+typescript

javascript - 如何使用 Visual studio 2019 Typescript 使 React 对象不再需要任何声明

javascript - 仅当 Props 未定义时输入属性 onChange

ios - 我需要购买 SSL 证书才能通过 heroku 服务器和 iOS 应用程序使用。我到底需要什么?

javascript - 使用 css-modules 时后台 url 中的相对路径不起作用

javascript - 根据 Props 发出条件 Api 请求

css - 在表格的最后一行使用 select 放置滚动条

javascript - 使用 React hook useState 在其中一个单元格悬停时突出显示表格的一行时出现问题?

heroku - 尽管使用锁,Rufus-scheduler 还是调度了两次

node.js - 保持通话后