获取响应包含(Json)许多键和相应的值,我想将Json对象分配给状态对象,我们如何实现?
我尝试关注但没有成功
....
.then(responseobj => {
this.setState({
state_object:responseobj,
})
答案 0 :(得分:1)
If you are using fetch library to make API calls.
.then((responseobj) => responseobj.json())
.then((jsonResponse) => {
this.setState({
state_object:jsonResponse,
})
})
答案 1 :(得分:0)
首先,为什么它不起作用?有错吗 无论如何,我总是创建一个新变量,并将获取的responsejson放入其中。 试试这个:
.then(responseobj => {
let responseToHandle = responseobj;
this.setState({
state_object: responseToHandle,
})
另一种解决方案可能是在fetch函数中您无法访问该对象,我总是在类的顶部创建一个名为self的变量。然后在构造器组件方法中,将其分配给self,然后所有需要此操作的操作都可以由self对象访问。
示例:
import React from ........
//more of your imports......
var self;
export default class YourClassOrComponent extends Component{
......
constructor(){
super();
self = this;
......
}
// using setState inside a function with self -->
....
.then(responseobj => {
let responseToHandle = responseobj;
self.setState({ // <----- Note that I use here self instead of this
state_object:responseobj,
})
.....
这就是我所能告诉你的一切,祝你好运!