当从API获取数据时,ReactJS会重新渲染两次以上

当从API获取数据时,ReactJS会重新渲染两次以上,reactjs,react-hooks,Reactjs,React Hooks,为什么我的页面会呈现两次,然后在从api获取数据后,它会再次呈现两次。这是我的密码 import React, {useState, useEffect} from "react" import axios from "axios" function Pokemon() { const [pokeList,setPokeList] = useState([]); useEffect(()=>{ console.log('useState-

为什么我的页面会呈现两次,然后在从api获取数据后,它会再次呈现两次。这是我的密码

import React, {useState, useEffect} from "react"
import axios from "axios"
function Pokemon()
{
    const [pokeList,setPokeList] = useState([]);    

    useEffect(()=>{     
        console.log('useState-mounted')     
        axios.get("https://pokeapi.co/api/v2/pokemon?limit=151")        
        .then((response) => {
            setPokeList(response.data.results);
        })      
    },[])

    const generationOnePokemon = pokeList.map(i => {
        return <h3 key={i.url}>{i.name}</h3>
    })

    return(
        <>          
            <h1>Shop</h1>
            {console.log('page-rendered')}
            {generationOnePokemon}
        </>
    )
}

export default Pokemon
来自控制台的结果


这是使用时的预期行为。它只发生在开发模式中,因此这不会影响生产。 它确保您的setState调用得到正确实现,并且不依赖于只执行一次


您可以阅读有关React-StrictMode的更多信息。

您是否在树上的某个位置使用React.StrictMode?@Linschlager是,ReactDOM.render,document.getElementById'root';