使用 Materialize css 时,窗口在下一个 js 中未定义

问题描述 投票:0回答:2

我正在使用

Next.js
,当我尝试使用时

import M from 'materialize-css';

我收到此错误:

窗口未定义

next.js materialize
2个回答
1
投票

您只能使用

dynamic
在客户端导入materialize-css

import dynamic from 'next/dynamic';
const M = dynamic(() => import('materialize-css'), {
    ssr: false,
});

1
投票

我添加了一个

useEffect
并添加了这一行:

     if(typeof window !== 'undefined'){
       const M = require('materialize-css');
       ...
     }
      

而不是

import
声明

© www.soinside.com 2019 - 2024. All rights reserved.