我有一个包含数组// Trim right
String z = "\n\nfrom the end\n\n";
System.out.println("-" + z.split("\\n+$", 2)[0] + "-");
的对象firstOccurrence
,我最初设置为一个空数组。然后我做一个AJAX请求并替换整个对象extras
,除了没有被替换并保持为空的数组之外,它可以正常工作。
如何替换整个对象,包括数组?
firstOccurrence
JSON回复:
答案 0 :(得分:1)
您应该在函数componentDidMount
而不是构造函数中发出请求:
constructor() {
super();
this.state = {
firstOccurrence: {
customer: {},
job: {},
extras: []
}
};
}
componentDidMount(){
axios.get(
`http://api.test.dev:5000/crew/v1/jobs/1.json`
).then(response => {this.setState({
firstOccurrence: response.data
})});
}
它will be called when the component is mounted,您将能够在那里设置状态并触发重新渲染。您应该记住,firstOccurrence
将具有您在第一个渲染中的构造函数中设置的初始值,然后在API调用完成并且设置新值时将重新呈现该组件。