小编DjB*_*ial的帖子

警告:列表中的每个子项都应该有一个唯一的“key”道具,即使它有唯一的 key React

所以我想渲染数组,但它一直说,警告:列表中的每个子项都应该有一个唯一的“key”道具,即使它有唯一的键,我的数组包含三个元素,它甚至不能正确渲染第三个数组,由于某种原因,该按钮甚至无法在第三里工作。

import React, { useEffect, useRef } 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 audioRef = useRef();
    const audioPlayer = audioRef.current
    const [audioSrc, setAudioSrc] = useState()
    const [musics, setMusics] = useState([])
    const [user, setUser] = useState(null)
    const [pfp, setPfp] = useState(null)
    const [audioTitle, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

10
推荐指数
1
解决办法
1848
查看次数

如何解决重新渲染次数过多的问题。React限制渲染次数以防止无限循环

我是新来反应的,最近我遇到了这个问题,我不知道如何解决它。它说重新渲染太多。React 限制渲染数量以防止无限循环。无限循环怎么样?是因为 on("value") 吗?

import React from "react";
import fire from "./firebase";
import firebase from "firebase"
import { useState } from "react"

    
const UserPage = ({ match }) => {
    const [user, setUser] = useState(null)
    const { params: { userId } } = match;
    var userName;
    console.log(userId)
    firebase.database().ref("users/"+userId+"/praivate/login credentials").on("value", (snapshot)=>{
        setUser(snapshot.val().userName)
    })
    
    return(
        <>
        <h1>Hey {user}</h1>
        </>
    )
    }
   
export default UserPage
Run Code Online (Sandbox Code Playgroud)
请帮我解决一下,谢谢。

javascript firebase reactjs firebase-authentication firebase-realtime-database

2
推荐指数
1
解决办法
1499
查看次数

如何修复 GET net::ERR_FAILED

我对后端和 Express js 非常陌生。我想从我的其余 api 获取数据,但它发送了此错误 net::ERR_FAILED。

//my api

const express = require("express");
const app = express();
app.get("/", (req, res)=>{
    res.send("hello world!!!")
})
const videos = {
    "source": "....com",
    "url": "...com"
}
app.get("/api/home", (req, res)=>{
    res.send(videos)
})
app.listen(3500, ()=>console.log("listening at port 3500..."))
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
    <head>
        <title>Hey</title>
    </head>
    <body>
        <button onclick="init()">hey</button>
        
        <script>
            function init(){
                const url = "http://localhost:3500/api/home"
                fetch(url).then(res=>res.json()).then(result=>{
                    console.log(result)
                })
            }
        </script>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我想在单击按钮时控制台记录来自 api 的数据videos,但它不起作用。

它甚至说:

从源“http://127.0.0.1:5500”获取“http://localhost:3500/”的访问已被 CORS 策略阻止:请求中不存在“Access-Control-Allow-Origin”标头资源。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。index.html:12 获取 http://localhost

javascript ajax http express server

2
推荐指数
1
解决办法
5万
查看次数

类型错误:无法读取 react.js 中未定义的属性“map”

大家好,我是 React js 的新手,它一直在说 TypeError:无法读取 react.js 中未定义的属性“地图”,即使它不是未定义的。

//my variables    
    const [musics, setMusics] = useState()
    const [user, setUser] = useState(null)
    const [pfp, setPfp] = useState(null)
    const { params: { uID } } = match;
    var userName;
    var musicArray = [];
//use effect so it does not infinite loop     
 useEffect(()=>{   firebase.database().ref("users/"+uID+"/public/songs/").on("value", (snapshot)=>{
            var music = snapshot.val()
            //gets title of each songs
            Object.values(music).forEach((value)=>{  
                musicArray.push(value.title)//pushes value to array
                setMusics(musicArray)//sets that array to musics
                
            })
        })    
    }, [])
    
    return(
           .....
          <div class = "music-content-container">
                    <div …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs firebase reactjs firebase-realtime-database

1
推荐指数
1
解决办法
2752
查看次数