先上报错信息
Server Error
SyntaxError: Cannot use import statement outside a module
为何遇到这个报错
- 主要是使用
antd 的 DatePicker遇到的
import zhCN from 'antd/es/date-picker/locale/zh_CN';
...some code
<DatePicker.RangePicker ... locale={locale} />
如何解决这个问题
const [locale, setLocale] = React.useState<any>()
React.useEffect(()=> {
(async ()=> {
const zh_CN = (await import('antd/es/date-picker/locale/zh_CN')).default
const en_US = (await import('antd/es/date-picker/locale/en_US')).default
setLocale(lang === 'en' ? en_US : zh_CN)
})()
}, [])
...some code
<DatePicker.RangePicker ... locale={locale} />
猜测报错原因
- 可能是antd的这个东西,哪块地方获取浏览器有的东西,导致服务端渲染的时候出错了吧。不太清楚。有懂的大佬可以指点一下么? hhh