動的インポートでHOCを使用することになりました:
const formatters = {};
LOCALES.forEach((locale) => {
formatters[locale] = dynamic(() => {
return import(`../../public/static/globalize/locales/${locale}/formatters-${locale}.js`);
});
});
export default function withFormatter(Page) {
const PageWithFormatter = (props) => {
const lang = i18n.language || props.currentLanguage || 'en';
const formatter = formatters[lang]('').type(lang);
return (
<GlobalizeContext.Provider value={{ formatter }}>
<Page {...props} />
</GlobalizeContext.Provider>
);
};
PageWithFormatter.getInitialProps = async ({ req }) => {
const currentLanguage = req ? req.language : '';
return { currentLanguage };
};
return PageWithFormatter;
}