javascript - 如何根据 react-native 中的条件导出对象?
问题描述
例如,我想导出一个对象based on conditions
,首先我检查一些存储在“AsyncStorage”中的语言,然后根据我返回特定的语言object
。
文件:lang.js
import AsyncStorage from '@react-native-community/async-storage';
let exportingLang = {};
AsyncStorage.getItem('@lang').then(language=> {
if(language){
if(language === "hindi") exportingLang = {
name: 'a hindi name'
};
else if(language === "panjabi") exportingLang = {
name: 'a panjabi name'
};
else exportingLang = {
name: 'a english name'
};;
}
});
export const Lang = exportingLang;
文件:post.js
import {Lang} from 'lang';
export default Post = props => {
return (
<Text>{Lang.name}</Text>
);
}
但上面的代码不起作用。
解决方案
为什么不存储exportingLang
in state 的值,然后在你的组件中使用它呢?
import AsyncStorage from '@react-native-community/async-storage';
export default Post = props => {
const [name, setName] = useState()
AsyncStorage.getItem('@lang').then(language=> {
if(language){
if(language === "hindi") {
setName('a hindi name')
} else if(language === "panjabi") {
setName('a punjabi name')
} else {
setName('an english name')
};
}
});
return (
<Text>{name}</Text>
);
}
推荐阅读
- vue.js - 用于将属性添加到基于 mustache 的绑定的全局绑定表达式
- python - 大熊猫中的爆炸列表列
- android - 闪光灯在安卓设备上不起作用
- gtk - 在 GTK/GJS 应用程序和 Gnome Shell 扩展之间共享代码
- javascript - 使用不同的值更新状态不起作用
- javascript - addEventListner 函数里面的参数有什么作用?
- javascript - 如何在渲染之前计算 React 组件的大小?
- android - 如何解决清单中的持久 Unity(实际上是 Gradle)minsdk 错误
- django - 如何将 SSLCommerze 集成到我的 django 应用程序中?
- javascript - 用javascript更改css图片