有没有一种方法可以使componentDidMount在React本机文件中工作

时间:2020-02-09 02:16:12

标签: javascript reactjs react-native

我正在尝试为应用程序做启动画面,但是在启动器提供的与打字稿相关的文件中使用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 />
        </>
    );
};

初始屏幕显示正常,但不允许登录页面进入

1 个答案:

答案 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 />;
};

希望这对您有所帮助。放心怀疑。