【发布时间】:2020-02-27 22:52:39
【问题描述】:
我现在正在开发我的第一个应用程序,它是在 react native 中为前端创建的,并使用 Node JS 作为后端,使用 mongodb 作为数据库。 我正在尝试为我的用户实现注册表单,但我真的不知道如何对状态执行此操作,因为它一直说无法评估 this.state.name。 我想做的是使用 fetch api 注册一个使用 Postman 工作的帐户的 POST 请求,因此错误来自我的前端。
所以我要做的是创建我的函数来执行此操作,但我希望正文代表用户在不同字段中键入的值,我存储在状态中,当您看到代码时它会很清楚。 如果我使用状态它不起作用但是如果我直接在我的函数中输入一些值它会起作用。
这第一件事是我的 fetch API 函数,如果我这样做它不起作用,下面是我如何获取每个字段的状态(请参阅)
clickthebutton = () =>{
//var data = this.state
fetch('http://localhost:5050/api/new/register',{
method:'POST',
headers : {'Content-Type': 'application/json'},
body : {
name:this.state.name,
age:this.state.age,
password:this.state.password,
email:this.state.email
},
})
}
<Input
label="Your email address"
placeholder="yo@gmail.com"
onChangeText={(text)=> this.setState({email:text})}
value={this.state.email}
>
我的状态是这样的:
this.state={
email:null,
password:null,
name:null,
age:null,
dataImage:null
}
我想发送正文,如果我做 body : this.state 当我在我的服务器上执行 console.log(req.body) 时它不会发送任何内容,它会显示一个空对象。
感谢您的帮助
编辑:问题已解决,我的函数不是指我的班级。
【问题讨论】:
-
你确定 'onChangeText' 是 的内置属性吗?您是要改用
吗? facebook.github.io/react-native/docs/textinput#onchangetext -
你好,是的,看看它说的 react native element 文档,我相信。
标签: node.js api react-native fetch