Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将firebase文档中的所有字段检索到映射或Key:Value对_Javascript_Reactjs_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript 如何将firebase文档中的所有字段检索到映射或Key:Value对

Javascript 如何将firebase文档中的所有字段检索到映射或Key:Value对,javascript,reactjs,firebase,google-cloud-firestore,Javascript,Reactjs,Firebase,Google Cloud Firestore,需要有关检索Firestore文档中所有字段的帮助。 我有一个react应用程序,可以从Firestore获取文档 我正在使用react-redux firebase进行此操作。下面是我关于单个组件的部分代码 const mapStateToProps = (state, ownProps) => { console.log(state); const collectionName = state.firestore.data.collectionName; re

需要有关检索Firestore文档中所有字段的帮助。 我有一个react应用程序,可以从Firestore获取文档

我正在使用react-redux firebase进行此操作。下面是我关于单个组件的部分代码

const mapStateToProps = (state, ownProps) => {
    console.log(state);
    const collectionName = state.firestore.data.collectionName;

    return {
        data: data
    }
}

export default compose(
    connect(mapStateToProps),
    firestoreConnect([
        { collection: 'collectionName' }
    ])
)(ComponentName);
要获取文档中的特定字段,我需要

data.fieldName
如果您知道所有的字段名,那么这很有效。我的问题是,并非所有文档的字段都相同。 因此,如果我能够获取每个文档的所有字段,并返回一个map或任何其他key:value对,并将其显示到页面上的列表中,这将有所帮助。 在Dart中,我可以这样做:

Map<String, dynamic> data() => dartify(jsObject.data());
Map data()=>dartify(jsObject.data());

我不知道怎么做这件事。我是新来图书馆的,所以任何帮助都将不胜感激

如果您试图在对象中的键/值对上进行迭代/映射,您可以使用中的许多其他选项:


因此,您会问,给定data()返回的单个JavaScript对象,该对象的属性是什么?data()返回的对象在任何方面都不是特别的-它只是一个简单的JS对象,可以这样处理。是的,我如何才能在Key:value格式中获得所有属性对象本身就是这种格式的。所有文档字段名都是对象的属性(也称为“键”),值都是字段值。您可能希望了解JavaScript对象如何工作,以便操作这些键和值。如果您手头有一项比处理对象(这是非常标准的JavaScript)更具体的任务,请编辑该问题,说明您的目标是什么,以及您迄今为止所做的尝试没有达到预期效果。该任务是将所有键:值对呈现到一个列表中,并将其显示在页面上。我尝试了const listThings=user.map((things)=>
  • things
  • ),但是我得到了一个错误,map不是一个函数。我确信这是可行的,但我对js是新手,React并没有让它变得容易。谢谢你,这真的帮助了我,我已经成功地获得了所有字段的键:值对。然而,我得到了一个警告:“列表中的每个孩子都应该有一个唯一的关键道具”。关于如何摆脱这个问题,有什么想法吗?:)对不起,我不明白。如果你有一个新问题,请单独发布。这完全不是一个新问题。当我使用map方法时,它会给我一个key:value对的列表,但是在控制台中,我得到了key-prop警告。是的,我一点也不清楚你在观察什么。请用一个新问题来充分说明。这样做。谢谢你的帮助。
    const formatted = Object.entries(data).map(pair => {
        // do something with key and value here
        const key = pair[0]
        const value = pair[1]
        return `${key}: ${value}`
    })