目前正在学习本地反应并试图编写一些我遇到此错误的事情:
_this.setState不是一个功能。(在' _this.setState({myState:createSignature()})',' _this.setState'未定义)
我有路由并得到我这样的页面:
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(
答案 0 :(得分:3)
您的About
组件是一个功能组件,因此没有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