我有一个节点JSAPI,在这里我通过find
函数获取数据库数据。它工作完美,并发送我的结果。使用React和Axios,我获得了数据,但只要我将数据传递到setState
中,它就会发送null
。
这是我的APIfind()
函数
dbo.collection("students").find({}).toArray(function(err, result) {
if (err) throw err;
var students = result;
reponse.send(students);
db.close();
});
这是我的Axiosconstructor()
和componentDidMont()
constructor() {
super();
this.state = {
students: [],
}
}
componentDidMount() {
axios.get("http://localhost:3333/").then((data) => {
console.log(data);
this.setState({students:data.data.students});
console.log(this.state);
});
}
console.log(数据)
返回这个
`Object { data: (33) […], status: 200, statusText: "OK", headers: {…}, config: {…}, request: XMLHttpRequest }`
而console.log(this.state)
返回此
对象{学生:未定义}
首先,状态更新是异步的,所以您不会立即看到更新的状态
其次,响应数据具有数组数据,因此您只需使用data.data
this.setState({students:data.data});
我试图将三列作为一个字符串,但由于某些原因,我只得到NULL。 以下是代码: places表包含name、city和country三列,它不是空的,但在某些列中可以包含NULL。 结果是: 我试着从这篇帖子中得到答案,如果任何字段包含NULL,MySQL CONCAT将返回NULL,但它对我不起作用。
我知道有类似的线程讨论范围问题。 使用以下组件 当您单击时,您会得到的属性'setState' 我知道你可以像这样做,但所有这些看起来都很奇怪,只是为了让它工作。 什么被认为是最优雅的方式来做到这一点?当然,人们必须有一个首选的方式,除了眼睛疼痛之外,还有其他好处?
我正在尝试从json文件读取到读取器,以便将其解析为java对象:` ' 我在运行时收到一个NullPointerException。
问题内容: 我在第一次调用它返回值但第二次返回null的地方遇到问题(这没有关闭结果集或sql连接) 当然,该代码很容易修复,可以避免第二次调用,但是我想理解的是为什么如果第一个未调用,则第二个返回null 问题答案: 从Javadoc: 为了获得最大的可移植性,应按从左到右的顺序读取每一行中的结果集列,并且每一列只能读取一次。 在后台,您正在消耗TCP流中的字节,因此不能两次检索相同的列值也就不
问题内容: 我有一个问题,尽管数据库中存在一个键/条目,但Redis命令仍会返回。 我从未在本地计算机上运行的Redis服务器上遇到此问题。令人讨厌的是,没有错误或任何东西。 我使用Redis Desktop Manager来检查Heroku Redis数据库中的内容。 这是获取数据库中值的NodeJS代码: 我可能会做的一件异常事如下:我同时有多达6个处理数据库中的值。 知道什么会导致这种奇怪的