在反应 i18next 中将参数传递到命名空间
Pass a parameter into namespace in react i18next
我正在使用 react i18next,我需要传递从上一个屏幕获得的命名空间作为导航道具。我的第二个屏幕的代码如下。
import { withTranslation } from "react-i18next"
let params = ""
class SecondScreen extends PureComponent {
constructor(props) {
super(props)
const { navigation } = props
params = navigation.getParam("params", {})
}
render() {
....
}
}
export default withTranslation([`namespace1/${params}`])(SecondScreen))
我知道可以使用 useTranslation, but I need to continue my work with withTranslation 来完成,因为我正在使用 class 组件。任何帮助将不胜感激!!!
这不会起作用,因为您已经在编译过程中包装了您的组件,因此 withTranslation
正在通过 namespace/
。道具的注入发生在 运行.
期间
在这个 answer 的行上,尝试写一个外部 class 来包装这个 class SecondScreen
作为内部 class 用 withTranslation
HOC 在其 render
方法中。
我正在使用 react i18next,我需要传递从上一个屏幕获得的命名空间作为导航道具。我的第二个屏幕的代码如下。
import { withTranslation } from "react-i18next"
let params = ""
class SecondScreen extends PureComponent {
constructor(props) {
super(props)
const { navigation } = props
params = navigation.getParam("params", {})
}
render() {
....
}
}
export default withTranslation([`namespace1/${params}`])(SecondScreen))
我知道可以使用 useTranslation, but I need to continue my work with withTranslation 来完成,因为我正在使用 class 组件。任何帮助将不胜感激!!!
这不会起作用,因为您已经在编译过程中包装了您的组件,因此 withTranslation
正在通过 namespace/
。道具的注入发生在 运行.
在这个 answer 的行上,尝试写一个外部 class 来包装这个 class SecondScreen
作为内部 class 用 withTranslation
HOC 在其 render
方法中。