我有两个页面,在“login.js”和“main.js”文件中进行了描述。当用户登录时,我必须根据用户在其注册配置文件中存储的语言设置主页语言。我已检查_storeData
我的方法I18n.locale
是否正确设置为用户选择的语言。但在“main.js”中,内容没有改变。如何解决?
登录.js
class Login extends React.Component {
constructor(props) {
super(props);
}
async login() {
this._storeData(this.props.login.getLogin, this.props.login.lPassword)
}
_storeData = async (user, password) => {
try {
await AsyncStorage.setItem('user', JSON.stringify(user))
await AsyncStorage.setItem('password', password)
I18n.locale = user.language;
} catch (error) {
console.log(error)
}
}
}
main.js
import I18n from '../../translations/i18n';
class Main extends Component {
constructor(props) {
super(props)
this._retrieveData()
}
_retrieveData = async () => {
try {
const value = await AsyncStorage.getItem('user');
this.props.editUser(JSON.parse(value))
} catch (error) {
console.log(error)
}
}
render() {
return (
<View style={styles.container}>
<Text style={styles.menutext}>{I18n.t('company')}</Text>
</View>
)
}
}