【发布时间】:2020-03-18 22:58:59
【问题描述】:
我想导出一个对象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>
);
}
但是上面的代码不起作用。
【问题讨论】:
-
你肯定需要提供更多关于你在哪里运行那段代码的信息,等等。仅仅靠它自己,那段代码永远不会工作。
-
@AfrazHussain,我已经编辑了我的问题,请看一下
-
谢谢,您似乎希望将 JavaScript 承诺的响应放入您的渲染中。让我为你想一个简单的答案。
-
如果下面的答案已经解决,请选择一个答案。
-
请查看我回答中的最后一条评论。它有一个链接向您展示如何在第一次渲染之前使用
UNSAFE_componentWillMount()来获取您的价值。
标签: javascript react-native es6-promise