gt-react@10.8.0
概述
在 gt-react 10.8.0 中,我们新增了通过 enableI18n 字段控制的功能开关支持。这样你就可以按需禁用国际化,并且同时支持同步和异步加载模式。
同步行为
当 enableI18n 设为 false 时,i18n 功能会按以下方式被禁用:
- 将区域设置列表限制为仅默认区域设置
- 将用户的区域设置设为默认区域设置
<GTProvider enableI18n={false}>
{/* i18n 已禁用 - 仅默认区域设置可用 */}
</GTProvider>异步行为
对于动态功能开关,使用 enableI18nLoaded 指示加载状态:
<GTProvider
enableI18n={featureFlag}
enableI18nLoaded={isLoaded}
>
{/* 内容 */}
</GTProvider>当 enableI18nLoaded 不为 undefined 时:
false:功能开关正在加载中 (使用默认的enableI18n值)true:功能开关已加载完成
在加载过程中,库会检查 generaltranslation.enable-i18n cookie 来确定当前状态。加载完成后,会优先采用显式指定的 enableI18n 值。
SSG/SSR 注意事项
对于 SSG,由于静态生成无法判断运行时功能开关的状态,因此当 enableI18n 的默认值为 false 时,首次渲染会被跳过。
SSR 目前的行为也类似,不过我们计划在后续版本中为 Next.js Pages Router 提供正式的 SSR 支持。对于 Next.js App Router,请改用 gt-next。