.map函数未在React JS中呈现所有数据

DjBillje官方

我是新来的反应者,我遇到了这个问题,我正在尝试解决此问题,map函数未呈现数组的所有元素,它仅呈现数组的第一个元素,但刷新一次后呈现。如果您在这里发现问题,我将不胜感激。或者告诉我更好的选择来获取和呈现数据

import React, { useEffect } from "react";
        import fire from "./firebase";
        import firebase from "firebase"
        import { useState } from "react"
        import Header from "./header"
        import Nav from "./nav"
        import { NavLink, Redirect } from "react-router-dom";
        import AudioPlayer from "./audioplayer"    
        const Music = ({ match }) => {
            const [musics, setMusics] = useState([])
            const [user, setUser] = useState(null)
            const [pfp, setPfp] = useState(null)
            const { params: { uID } } = match;
            var userName;
            var musicArray = [];
            //ignore this section
            useEffect(()=>{
                firebase.database().ref("users/"+uID+"/praivate/login credentials").on("value", (snapshot)=>{
                    setUser(snapshot.val().userName)
                    setUser(snapshot.val().userName)
                })
                firebase.database().ref("users/"+uID+"/public/profile/pic").on("value", (snapshot)=>{
                    console.log(snapshot.val().pfpUrl)
                    setPfp(snapshot.val().pfpUrl)
                })
            }, [])
    //problem comes over here
            var music;
            useEffect(()=>{
                
                firebase.database().ref("users/"+uID+"/public/songs/").on("value", (snapshot)=>{
                    //stores data in music.
                    music = snapshot.val()
                    //gets all title of the data
                    Object.values(music).forEach((value)=>{  
                        musicArray.push(value.title)//pushes titles to musicArray
                        setMusics(musicArray) //stores music array in nusics
                    })
                })
               
            }, [music, uID])
            return(
                <>
                    <Nav />
                    <div id = "profile" className = "main">
                        <div class = "profile-container">
                            <div className = "cover-pic">
                                <img src = "" />
                                <div className = "pfp">
                                    <img src = {pfp} height = "100" width = "100"/>
                                </div>
                                <div className = "User-Name">
                                    <h1>{user}</h1>`
                                </div>
                            </div>
                            <div class = "tabsContainer">
                            <div class = "tabs-holder">
                            <NavLink to = {"/u/"+uID+"/music"}><button><span>Music</span></button></NavLink>
                                <button><span>Playlist</span></button>
                                <button><span>About</span></button>
                            </div>
                        </div>
                        </div>
                       
                        <div class = "music-content-container">
                            <div class = "music-box">
                                <div class = "user-musics">
                                    <ul>
                                        {musics && musics.map((name, index)=>{
                                            console.log(name)<!----consolelogs music[0] two times for some reason and music[1] one time---->
                                            return <li key = {index}>{name}</li>//<!----it should print 2 datas but prints only one. but when i refresh again it shows 2 datas--->
                                        })}
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>

                    <Header />
                    
            )
           }
            
            
           
        export default Music

昏迷的托马斯

不应以这种方式代替

 Object.values(music).forEach((value)=>{  
     musicArray.push(value.title)//pushes titles to musicArray
     setMusics(musicArray) //stores music array in nusics
  })

代替

  Object.values(music).forEach((value)=>{  
         musicArray.push(value.title)//pushes titles to musicArray
         
      })
setMusics(musicArray) //stores music array in nusics

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React JS .map 以与 JSON 中的对象相同的时间返回所有数据

来自分类Dev

Odoo ..所有数据均未在_inherit ir.cron中的树中显示数据

来自分类Dev

函数未在React中调用onclick事件

来自分类Dev

React中的Map函数

来自分类Dev

在所有数据库中的过程/函数中搜索表用法

来自分类Dev

在 React Native 中显示嵌套对象数组中的所有数据

来自分类Dev

如何应用为列表中的所有数据框对象输出多个列均值的函数?

来自分类Dev

使用ng-repeat的选择列表具有数据,但未在angular js中显示

来自分类Dev

React Js数据表“表中没有数据”

来自分类Dev

react的map函数中的setState

来自分类Dev

如何应用返回所有数据组合的函数

来自分类Dev

React.js this.props未在链接元素中呈现

来自分类Dev

使用 ddply() 在数据框中的所有数字列上执行多个函数(均值、标准差等)

来自分类Dev

如何更改可观察集合中的所有数据,以便使用它的函数可以注意到发生的变化?

来自分类Dev

使函数从数组中除以3的所有数字

来自分类Dev

使用 API axios 从 React 中一次性删除 mongoDB 中的所有数据

来自分类Dev

数据未在 highcharts 中呈现

来自分类Dev

如何不覆盖MAP c ++中的现有数据?

来自分类Dev

ListView行未在React Native中呈现

来自分类Dev

Javascript Highcharts:系列datalabel格式化程序函数,用于循环数据而不格式化数组中的所有数据

来自分类Dev

列出所有具有数据类型的标量函数

来自分类Dev

当我从Silverlight调用WCF时发生CommunicationException(或者如何在一个函数中从DB中获取所有数据)

来自分类Dev

在React Native中没有使用Flatlist呈现数据

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

Java:解析XML并将所有数据内容绑定到Map <K,V>

来自分类Dev

该函数适用于所有数值数据类型

来自分类Dev

在节点中,我如何要求函数仅在获得所需的所有数据后才返回?

来自分类Dev

malloc函数将所有数据分配到相同的内存地址

来自分类Dev

数据未在反应组件中呈现

Related 相关文章

  1. 1

    React JS .map 以与 JSON 中的对象相同的时间返回所有数据

  2. 2

    Odoo ..所有数据均未在_inherit ir.cron中的树中显示数据

  3. 3

    函数未在React中调用onclick事件

  4. 4

    React中的Map函数

  5. 5

    在所有数据库中的过程/函数中搜索表用法

  6. 6

    在 React Native 中显示嵌套对象数组中的所有数据

  7. 7

    如何应用为列表中的所有数据框对象输出多个列均值的函数?

  8. 8

    使用ng-repeat的选择列表具有数据,但未在angular js中显示

  9. 9

    React Js数据表“表中没有数据”

  10. 10

    react的map函数中的setState

  11. 11

    如何应用返回所有数据组合的函数

  12. 12

    React.js this.props未在链接元素中呈现

  13. 13

    使用 ddply() 在数据框中的所有数字列上执行多个函数(均值、标准差等)

  14. 14

    如何更改可观察集合中的所有数据,以便使用它的函数可以注意到发生的变化?

  15. 15

    使函数从数组中除以3的所有数字

  16. 16

    使用 API axios 从 React 中一次性删除 mongoDB 中的所有数据

  17. 17

    数据未在 highcharts 中呈现

  18. 18

    如何不覆盖MAP c ++中的现有数据?

  19. 19

    ListView行未在React Native中呈现

  20. 20

    Javascript Highcharts:系列datalabel格式化程序函数,用于循环数据而不格式化数组中的所有数据

  21. 21

    列出所有具有数据类型的标量函数

  22. 22

    当我从Silverlight调用WCF时发生CommunicationException(或者如何在一个函数中从DB中获取所有数据)

  23. 23

    在React Native中没有使用Flatlist呈现数据

  24. 24

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  25. 25

    Java:解析XML并将所有数据内容绑定到Map <K,V>

  26. 26

    该函数适用于所有数值数据类型

  27. 27

    在节点中,我如何要求函数仅在获得所需的所有数据后才返回?

  28. 28

    malloc函数将所有数据分配到相同的内存地址

  29. 29

    数据未在反应组件中呈现

热门标签

归档