【发布时间】:2021-06-21 13:44:51
【问题描述】:
我正在使用带有 websocketserver 后端的 create-react-app。我收到错误消息“对象作为 React 子级无效(找到:带有键 {id, status} 的对象)。如果您要呈现子级集合,请改用数组。”
我的后台
std::string out = "[{\"id\": \"" + Event->getID().asString() + "\",";
if (auto stateEvent = dynamic_cast<const StateReport*>(Event.get()))
{
out += "\"State-Event\": \"";
out += stateToString(stateEvent->getState());
out += "\"}]";
}
else
out += "\"Unknown event\": \"\"}]";
out += "\n";
objcomm::Data resp;
resp._data = (const std::uint8_t*)out.c_str();
反应代码
componentDidMount() {
client.onmessage = (message) => {
var data = message.data;
this.setState({dataFromServer: data});
console.log(message.data);
};
}
render() {
if(!this.state.dataFromServer){
return "loading"
}
else if(this.state.dataFromServer && this.state.dataFromServer.length >0){
return(
this.state.dataFromServer.map(data => (
{data}
))
);
}
}
message.data 的控制台日志
[{"id": "1.2","State-Event" : "Running"}]
我想访问类似的东西 this.state.datafromServer.map(data => {data.id}) 但是当我这样做时,我得到 datafromServer.map 不是函数
我做错了什么。
【问题讨论】:
标签: javascript arrays json reactjs