是这样的,因为项目需要前端国际化,现在的项目中代码是这样的
代码中使用了redux作为最外层,然后里面包裹了路由react-router
class Root extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
)
}
}
现在想要使用前端国际化的库,需要引用react-intl,这个库需要在最外面包裹一层,也就是需要写成这样
class Root extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
)
}
}
但是现在,这里出现了问题,现在我想要在view的根组件中控制控制改变IntlProvider中的props(local和messages)属性配置,我想了一种方式是通过父组件向子组件传递一个可以改变父组件state的方法,然后再子组件中调用这个方法,动态改变Root组件的props,这样就可以实现页面上选择语言后,页面语言显示改变。
但是我不知道该怎么样向子组件传递这个方法,诚心求赐教
我还想了一个方法,不知道行不行,还没试验过,就是把IntlProvider这个组件写在视图层里,就是写在Provider的里面,最外层视图组件layout里面,这样就跳过了redux和router的传递过程。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
走同样的路,发现不同的人生