2017-10-25 4 views
1

ではありません。_this.setStateは現在、およそ反応-ネイティブと私は、このエラーに出くわしたいくつかのことをコーディングする試す学習機能

_this.setState is not a funtion.(In '_this.setState({myState: createSignature()})','_this.setState' is undefined)

私は、ルーティングを持っており、このようなページについての私を得る:

import React from 'react' 
import { TouchableOpacity, Text, View } from 'react-native' 
import { Actions } from 'react-native-router-flux' 
import Moment from 'react-moment'; 
import EventEmitter from "react-native-md5"; 
import md5 from "react-native-md5"; 

const devID = 0000; 
const authKey = "XXXXXXXXXXXXXXXXXXX"; 

function createSignature(){ 
    var ut = new Date(); 
    var time = <Moment utc={true} element={Text} format="YYYYMMDDHHmmss">{ut}</Moment>; 
    var signaturePre = devID + "createsession" + authKey + time; 
    return md5.hex_md5(signaturePre); 
} 

const About =() => { 
    const goToHome =() => { 
     Actions.home() 
    } 

state = { 
     myState: 'Lorem ipsum dolor sit amet,' 
    } 
    updateState =() => { 
     this.setState({ myState: createSignature() }) 
    } 
     return (
     <View> 
      <Text onPress = {this.updateState}> 
       {this.state.myState} 
      </Text> 
      <TouchableOpacity style = {{ margin: 128 }} onPress = {goToHome}> 
       <Text>This is ABOUT</Text> 
      </TouchableOpacity> 
     </View> 
) 
} 
export default About 

私は誰かがちょうど私が私が私もそれのために小道具を使用してみましたが欠けているかを理解するソリューションを与えたくないが、これは、同じエラーが発生しました。

誤差は29

return(
+2

を拡張することによって、それを作成します。 – Chris

+0

@Chrisおかげさまでもう一度チェックします – Mederic

答えて

3

あなたAboutコンポーネントは、機能性成分となりthisプロパティと状態を持っていないされている行にヒント。あなたは `this`が、この場合、何を参照するかを自問する必要があります:あなたは手がかりを求めているのでReact.Component

class About extends React.Component { 
    goToHome =() => { 
     Actions.home() 
    } 

    state = { 
     myState: 'Lorem ipsum dolor sit amet,' 
    } 
    updateState =() => { 
     this.setState({ myState: createSignature() }) 
    } 
     return (
     <View> 
      <Text onPress = {this.updateState}> 
       {this.state.myState} 
      </Text> 
      <TouchableOpacity style = {{ margin: 128 }} onPress = {this.goToHome}> 
       <Text>This is ABOUT</Text> 
      </TouchableOpacity> 
     </View> 
) 
} 
export default About 
+0

私はよく理解していますが、クラスは拡張できません。 'classについてReact.Component {' – Mederic

+0

はい、それはクラスでなければなりません。側からの入力ミスです。 –

+0

クラスを使用するとエラーが発生するので、ルーティングは機能しません。** can変数を見つけることはありません:goToHome ** – Mederic

関連する問題