我正在尝试为应用程序做启动画面,但是在启动器提供的与打字稿相关的文件中使用reacts componentDidMount react react native项目会返回错误。
这是app.js
代码
import React, { Component } from 'react';
import { SafeAreaView, StyleSheet, ScrollView, View, Text, StatusBar, Button, TextInput, Image } from 'react-native';
import { Header, LearnMoreLinks, Colors, DebugInstructions, ReloadInstructions, } from 'react-native/Libraries/NewAppScreen';
import Login from './src/components/login/login';
import Register from './src/components/register/register';
import SplashScreen from 'react-native-splash-screen';
import componentdidmount from './src/components/componentdidmount';
const App: () => React$Node = () => {
componentDidMount(){
SplashScreen.hide();
}
return (
<>
<Login />
</>
);
};
初始屏幕显示正常,但不允许登录页面进入
答案 0 :(得分:0)
您不能在功能组件内部使用componentDidMount
来代替类组件或使用useEffect
。
类组件
import { Component } from "react";
export default class App extends Component {
componentDidMount() {
SplashScreen.hide();
}
render() {
return <Login />
}
}
功能组件
import { useEffect } from "react";
const App = () => {
useEffect(() => SplashScreen.hide());
return <Login />;
};
希望这对您有所帮助。放心怀疑。