0

I'm getting data from the server with getServerSideProps:

export async function getServerSideProps(context) {
  const packageIdentifier = context.params.packageIdentifier;
  const data = await getReviewsData(packageIdentifier);

  return {
    props: {
      response: {
        packageIdentifier,
        data,
      }
    }
  };
}

Then i'm trying to load the data into a component in my page, the data appears but not showing when the page is rendered:

export default function ReviewsPage({ response }) {
  // DATA IS PRINTED TO CONSOLE AND WORKING FINE
  console.log(`Reviews Data: ${JSON.stringify(response.data)}`);
  
  const { data, setData } = useState(response.data);

  useEffect(() => {
    setData(response.data);
  }, [data]);

  return (
    <Fragment>
      <Box>
        { data && <Reviews reviews={data} /> }
        { !data && <div>There are no reviews to display.</div> }
      </Box>
    </Fragment>
  );
}

The render (return) is sending 'There are no reviews to display'. Which means that data is empty for some reason.

What am I doing wrong?

ytpm
  • 4,962
  • 6
  • 56
  • 113

0 Answers0