方法无法读取状态
Posted
技术标签:
【中文标题】方法无法读取状态【英文标题】:Method can not read state 【发布时间】:2017-07-21 16:52:16 【问题描述】:我正在使用 react-native 和解析服务器。我正在实现用户注册,但是出现了这个错误:
undefined 不是对象(评估 'this.state.username')
不应该跨类读取状态吗?
import React, Component from 'react';
import Container, Content, Form, Item, Input, Button, Text from 'native-base';
var Parse = require('parse/react-native');
export default class Singup extends Component
constructor(props)
super(props);
this.state =
username: '',
password: ''
;
Buttonpress()
Parse.initialize("APPLICATION_ID");
Parse.serverURL = 'http://***.***.**.**:1337/parse'
var user = new Parse.User();
user.set("username", this.state.username);
user.set("password", this.state.password);
user.signUp(null,
success: function(user)
console.warn("YES");
,
error: function(user, error)
// Show the error message somewhere and let the user try again.
alert("Error: " + error.code + " " + error.message);
);
render()
return (
<Container>
<Content>
<Form>
<Item>
<Input
placeholder="Username"
onChangeText=(text) => this.setState(username: text)
value = this.state.username/>
</Item>
<Item last>
<Input
placeholder="Password"
onChangeText=(text) => this.setState(password: text)
value = this.state.password/>
</Item>
</Form>
<Button
block
onPress=this.Buttonpress>
<Text>Inscrever-se</Text>
</Button>
</Content>
</Container>
);
自动翻译。
【问题讨论】:
React setState reusable的可能重复 ButtonPress 函数绑定问题,见副本 这个问题被它的创建者放弃了。没有正确答案。 好的,所以这个问题确实有正确答案***.com/questions/39814235/… 检查这个问题以获得解释***.com/questions/41113798/… 【参考方案1】:你的函数绑定应该对你有所帮助
constructor(props)
super(props);
this.state =
username: '',
password: ''
;
this.Buttonpress = this.Buttonpress.bind(this);
这是参考:https://facebook.github.io/react/docs/react-without-es6.html#autobinding
【讨论】:
这个问题在 *** 上有多个重复,请考虑将其标记为重复或提供适当的链接而不是回答它, 谢谢!你能给我一个为什么我需要这个的参考吗?我想了解。 This one 是关于绑定变体的。 Mozilla docs以上是关于方法无法读取状态的主要内容,如果未能解决你的问题,请参考以下文章
无法读取上下文提供程序中的 useReducer 挂钩更新的状态
发布项目时无法读取状态文件“obj\Debug\Helpers.csprojResolveAssemblyReference.cache”错误