react-native - React Naitve i18n ,如何翻译 useState() 的内容?
问题描述
我遇到了一个问题,我的想法是,当点击一个按钮时,文本从“你好,点击我”变为“谢谢”,我需要将它们翻译成另一种语言,比如中文..
但是,它不能工作......任何人都可以帮助pleaseeee!非常感谢 !!
import React from 'react';
import { StyleSheet, View,Text, Button } from 'react-native';
import i18n from './../translations/i18n';
function TryBtn(props) {
const[text,setText] =useState({i18n.t('user_detail.click_me')});
return (
<View style={styles.conainer}>
<Text>{text}</Text>
<Button title="click" onPress={()=>setText("Thank you ")}/>
</View>
);
}
const styles = StyleSheet.create({
container : {
flex : 1,
justifyContent : 'center',
alignItems : 'center',
}
})
export default TryBtn;
解决方案
因此,要在此处实现翻译,您可以按照与初始状态相同的方式进行。在翻译文件中为“谢谢”文本创建键值对,然后在设置状态之前翻译数据,如下所示
import React from 'react';
import { StyleSheet, View,Text, Button } from 'react-native';
import i18n from './../translations/i18n';
function TryBtn(props) {
const[text,setText] =useState(i18n.t('user_detail.click_me'));
return (
<View style={styles.conainer}>
<Text>{text}</Text>
<Button title="click" onPress={()=>setText(i18n.t("user_detail.thank_you"))}/>
</View>
);
}
推荐阅读
- python - 在密钥环上设置密码过期 - Python
- ios - URLSessionConfiguration 设备被锁定时后台下载任务失败 - 与后台传输服务的连接丢失
- react-native - React Native:如何使用 expo 找到 PRODUCT_BUNDLE_IDENTIFIER?
- digital-ocean - 数字海洋 + Godaddy 域名 ERR_CONNECTION_REFUSED
- python-3.x - 随机选择包含词性的两种类型句子之一
- react-native - 如何隐藏标签栏导航?
- c# - C# AddHandler PreviewTextInput
- c++ - 从向量中删除字符串会导致分割错误
- prolog - 如何判断 clpfd 程序的计算复杂度是多少?
- javascript - 如何通过循环获取多个base64值