हैलो मेरा पेजिनेशन काम कर रहा है अगर मैं मैन्युअल रूप से यूआरएल बदलता हूं उदाहरण/आहार/1, 2 या 3। मैंने पेज + 1 जोड़ने के लिए एक फ़ंक्शन लागू किया है और यूआरएल पर नंबर बदल रहे हैं पर क्लिक करें लेकिन पेज अगली सामग्री लोड नहीं कर रहा है ? नीचे मेरा कोड: किसी भी तरह की मदद की सराहना की जाएगी। धन्यवाद

const Survey = props => {

const history = useHistory()
const [selected, setSelected] = useState({})
const { count, setCount, percentage, setPercentage } = useContext(AppContext)
const pageId = parseInt(props.pageId)
const [page, setPage] = useState(pageId)
const [results, setResults] = useState([])
const [totalPages, setTotalPages] = useState(5)

useEffect(() => {
    surveyApi()
    return () => {}
}, [])

const surveyApi = async () => {
    const response = await fetch(`/api/surveyoptions?page=${page}`)
    const results = await response.json()
    setResults(results.result)
    setPage(page)
    setTotalPages(page)
}

const getPageLink = ( pageNo ) => {
    return `/diet/${ pageNo }`
}


return (
    <>

 <Link 
    to={getPageLink(page + 1)}
    onClick={ () => setPage(page + 1) }
    className="next">
    Click Link 
 </Link> 
      </>
    )
  }

  export default Survey
0
Hassan Hafez 30 अक्टूबर 2020, 17:16

1 उत्तर

सबसे बढ़िया उत्तर
const Survey = props => {

const history = useHistory()
const [selected, setSelected] = useState({})
const { count, setCount, percentage, setPercentage } = useContext(AppContext)
const pageId = parseInt(props.pageId)
const [page, setPage] = useState(pageId)
const [results, setResults] = useState([])
const [totalPages, setTotalPages] = useState(5)

useEffect(() => {
    surveyApi()
}, [page]) // <--- pass `page` here.

const surveyApi = async () => {
    const response = await fetch(`/api/surveyoptions?page=${page}`)
    const results = await response.json()
    setResults(results.result)
    setPage(page)
    setTotalPages(page)
}

const getPageLink = ( pageNo ) => {
    return `/diet/${ pageNo }`
}


return (
    <>

 <Link 
    to={getPageLink(page + 1)}
    onClick={ () => setPage(page + 1) }
    className="next">
    Click Link 
 </Link> 
      </>
    )
  }

  export default Survey
1
William Wang 30 अक्टूबर 2020, 14:21