在我上一个ReactJS with Sockets Nested JSON parsing data issue的线程中,我试图找出最好的方法来设置我的react组件的setState并使状态为JSON
我的代码示例将在此处显示JSON:
{
"Object1": {
"name": "1",
"rank": "2"
},
"Object2": {
"name": "3",
"rank": "4"
}
}
在我的React代码中,我正在这样设置状态。
componentDidMount() {
this.socket.on('send data', this.updateState);
}
updateState(result) {
this.setState({
data: result
});
this.toObj = JSON.parse(this.state.data);
}
如何将setState作为JSON对象做什么,以便我可以随时使用应用程序中的数据?
答案 0 :(得分:0)
在setState
之前进行解析,然后直接引用状态:
updateState(result) {
const data = JSON.parse(result);
this.setState({
data
});
}
render() {
return (
<ul>
{this.state.data.map(obj => (
<li><span>{obj.name}</span>: <span>{obj.rank}</span></li>
)}
</ul>
)
}