json - 如何映射json数据(不是for循环)?
问题描述
这是我的 Json 数据:
data = {
"what would you like to have?": {
"susi":0,
"rice":0,
"noodles":0,
"manchurian":0
},
"what you will have in breakfast?": {
"Idli":0,
"dosa":0
}
}
componentDidMount() {
let newPost;
var id='-M6YIRfep3uFjaEv4fzL';
const db= firebase.database();
const events =db.ref().child('PG');
var query= events.orderByKey().equalTo(id);
query.once("value",(snapshot)=>{
newPost=snapshot.val();
const keys = Object.keys(newPost);
for (let data of keys) {
const keys = Object.keys(newPost[data].poll);
console.warn(newPost[data].poll);
for(let k1 of keys)
{
//console.warn(k1);
const keys2 = Object.keys(newPost[data].poll[k1]);
this.setState({
data1:newPost[data].poll[k1]
})
}
}
render() {
return (
<ScrollView>
<View style={{flex: 1, backgroundColor: '#fff'}}>
<View
style={{
width: 410,
height: 600,
backgroundColor: 'white',
alignContent: 'center',
}}>
{
this.state.data1.map((item,keys)=>(
// item[keys].map((items,key)=>{
<Text>{item[keys]}</Text>
//})
))
}
</View>
);
}
}
我如何在迭代 for 循环时映射这些数据,它正在工作,但是当我使用 map 函数时,它显示 undefined is not an object (evaluation object.keys(this.state.data )
) in react native 的错误。我正在获取 data1 变量,因为我警告 data1 警告 data1 。但不渲染数据
解决方案
推荐阅读
- flutter - 如何在 Appbar Flutter 中反转 RoundBottom
- java - 为什么无法导入org.springframework.data 无法解决
- python - 如何修复有关缺少方法的 AttributeError?
- magento - 为什么 region_code 不能正确存储?
- c# - 如何使用 c# razor 语法从下拉列表的选定项目中访问数据属性
- elasticsearch - 如何在任何嵌套字段中搜索值?
- sql-server - 如何在 Azure Synapse 中实现序列
- regex - 正则表达式匹配字符串中相同子字符串中最后一次出现的子字符串
- javascript - 尝试在浏览器中显示 pdf 文件
- javascript - 通过鼠标拖动以圆周运动相互旋转2个圆圈