【发布时间】:2021-05-08 22:37:21
【问题描述】:
我不明白,我正在尝试通过向 useEffect 添加函数“languageSetUp()”来改进我的 app.js 代码,但我发现自己面临错误:
destroy 不是函数。 (在 'destroy()' 中,'destroy' 是一个实例 对象)
你知道这是什么原因吗?那是什么意思?我不明白问题出在哪里,如果你能帮助我,特别是给我解释一下,我提前谢谢你。感谢您提供任何时间或帮助。
搜索后我认为这是由于 'this.props' 我一开始不知道如何在功能组件中替换它:
if (isConnected === true && this.props && this.props.navigation) { this.props.navigation.navigate("BottomTabNavigator"); } }
export default function App() {
Text.defaultProps = Text.defaultProps || {};
Text.defaultProps.allowFontScaling = false;
const [user, setUser] = useState({ loggedIn: false });
const state = { user, setUser };
const [loading, setLoading] = useState(true);
async function languageSetUp() {
let lang = await retrieveAppLang();
let isConnected = await userSessionActive();
if (lang.length == 2) {
i18n.changeLanguage(lang);
}
if (isConnected === true) {
this.props.navigation.navigate("BottomTabNavigator");
}
}
React.useEffect(() => {
setTimeout(() => setLoading(false), 2000);
languageSetUp();
if (loading) {
return <Splash />;
}
});
return (
<AppContext.Provider value={state}>
<NavigationContainer>
{!user.loggedIn ? (
<MainStackNavigator />
) : (
<BottomTabNavigator />
)}
</NavigationContainer>
</AppContext.Provider>
);
}
【问题讨论】:
标签: javascript react-native function use-effect