如何解决尝试根据从远程api获取的状态变量来设置变量
我正在获取查询数据,然后根据响应中返回的recordcount来计算分页所需的页数。 收到响应并设置状态变量后,我无法获得计算总页数的代码。
import React,{ useState,useEffect,useMemo } from "react"
import { Link } from "gatsby"
import { withAuthenticator,Loading } from 'aws-amplify-react'
import request from "../utilities/request"
import SEO from "../components/seo"
import Container from 'react-bootstrap/Container'
import Row from 'react-bootstrap/Row'
import Col from 'react-bootstrap/Col'
import Table from 'react-bootstrap/Table'
import { currLocale,formatDate } from '../utilities/formatting'
const ProductionOrders = (props) => {
let offset = 0
let records = 20
const [orders,setOrders] = useState({})
const [isLoading,setIsLoading] = useState(true)
//const [totalPages,setTotalPages] = useState()
function isEmpty(obj) {
for (var key in obj) {
if (obj.hasOwnProperty(key))
return false;
}
return true;
}
useEffect(() => {
async function fetchOrders() {
const url = `${process.env.ERP_API_URL}/production-orders?offset=${offset}&records=${records}`
const response = await request(url)
.catch(err => console.log(err))
setIsLoading(false)
if (response === undefined) { return }
console.log(response)
const body = response.body
if (!body) { return }
setOrders(JSON.parse(body))
console.log(orders)
}
fetchOrders()
},[offset])
const totalPages = useMemo(() => {
console.log(`TotalPages:${orders[0].recordCount}`)
if (isEmpty(orders)) { return }
return (orders[0].recordCount)
},[orders])
return (
..... some html
)}
export default .....
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。