reactjs - state in useEffect 第二个参数 无限循环
问题描述
我有一小段代码,我想我做错了
const [orders, setOrders] = useState([])
useEffect(() => {
fetch('/getOrders',{
headers:{
"Content-Type":"application/json",
"Authorization": "Bearer "+localStorage.getItem("jwt")
}
}).then(res=>res.json())
.then(orderList=>{
setOrders(orderList)
//console.log("myAdmin",orderList)
}).catch(err=>{
console.log("Error in Catch",err)
})
}, [orders])
这里数据会自行超时更新,我希望每次获取数据与现有状态不同时更新我的状态,但无论数据是否不同,状态都会不断更新,使组件无限重新渲染。有解决方案吗?
解决方案
尝试使用 prevState 参数设置状态,因此您不必包含任何依赖项。
setOrders((prevState) => ({
...prevState, orderList
}))
推荐阅读
- pip - 如何使用 pip (certbot-dns-hetzner) 安装 SnapStore 中不可用的 certbot dns 插件
- scala - 递归价值链0需求类型
- javascript - 从函数外部访问从函数获取的值
- r - R中是否有一个函数可以将几个单独的图形打包成一个“Network.List”?
- python - 改变
至 - c - C 比较字符串时的警告
- c++ - 如何放置到 std::array 的 std::vector?
- python - Python-如何并行运行不同的 sql 查询
- google-apps-script - 尝试将电子表格脚本中的客人添加到日历应用程序
- assembly - r/m8 操作数被反汇编器解释为 r/m32 操作数