Ded*_*ddy 2 i18next reactjs react-native react-i18next
我的问题是,当使用react-18next更改语言时,它会导航回第一个屏幕。
我这样称呼它:
i18n.changeLanguage('en')
我有像这样的初始化:
i18n.use(initReactI18next).init({
resources: {
en: {
translation: en
},
nl: {
translation: nl
}
}
})
Run Code Online (Sandbox Code Playgroud)
如果我的导航有 ['主'、'设置'、'语言'] 等路线,并且我的语言更改按钮位于语言视图中(我在那里导航:主 -> 设置 -> 语言),它会将用户重定向到主屏幕语言改变后。
语言改变正确,一切正常,除了它似乎重置了一切。我没有任何特定的导航设置。
有人经历过这样的事情吗?
小智 5
感谢您的提问和回答,它帮助我解决了这个问题。看,实际上您可以在导航组件内使用 useTranslation 挂钩,但不要在路线名称处传递 t('translation') 。你需要做的是:
<Tab.Screen
name="Home" {/* this stays un-translated*/}
options={{tabBarLabel: t('navigate:home')}} {/* this takes the translation function instead*/}
component={HomeScreen}
/>
Run Code Online (Sandbox Code Playgroud)
来源:这个惊人的例子
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |