这个问题通常是因为你在点击按钮时触发了浏览器的默认刷新行为,从而防止了UseEffect重新渲染页面。要解决这个问题,你需要使用preventDefault()
函数防止浏览器默认行为的发生。
以下是一个解决这个问题的简单示例:
import React, { useEffect, useState } from 'react'
const App = () => {
const [users, setUsers] = useState([])
const fetchData = async () => {
const data = await fetch('url to your data')
const users = await data.json()
setUsers(users)
}
useEffect(() => {
fetchData()
}, [])
return (
{users.map(user => (
- {user.name}
))}
)
}
export default App
在这个示例中,我们使用了preventDefault()函数来防止按钮的默认行为(重新刷新页面),并且通过fetchData()函数更新了页面数据。由于UseEffect被设置为在页面首次渲染时执行,所以在执行fetchData()时,页面数据将被更新。