Undefined不是函数:Timers - React Native

时间:2017-06-18 15:21:26

标签: react-native timer react-native-android

我正在尝试创建一个应用程序,其中SplashScreen显示600毫秒,然后显示主屏幕。我在componentDidmount中使用了setTimeOut方法,但是我收到的错误如here所示。下面还提供了必要的代码。

import React, { Component } from 'react';
import {Image,Dimensions, Button, Text, StyleSheet, View, TouchableOpacity} from 'react-native';
var timePassed;
class SplashScreen extends Component{
constructor(props){
  super(props);
  this.state={
    timePassed: false
  }
}

componentDidMount() {
  this.setTimeout( () => {
     this.setState({timePassed: true})
  },600);
}

render(){
  if(!this.state.timePassed){
  return(
<View style={styles.container}>
 <Image style={styles.logo} source={require('./Images/logo.jpg')}  resizeMode="contain" />
 <Text style={styles.deadlineFont}>Deadline</Text>

</View>
  );
}
else{
  return (
    <View>
    <MainScreen />
    </View>
  );
}
}
  }

1 个答案:

答案 0 :(得分:2)

问题:使用setTimeout错误地调用了this,但这不是您班上定义的方法。

解决方案:将this.setTimeout( () => {更改为setTimeout( () => {

以下是您的代码的实际示例:https://repl.it/Iqfk/1