Having trouble loading data from a different page in Next.js through an API call?

Hello everyone, I am brand new to the world of Next.js.

To keep things organized, I decided to use getStaticProps() for making API calls. I created a separate page called "git" under the "pages" folder. Here is the code snippet:

function Git({ stars }) {
    return <div>Next stars: {stars}</div>
  }

export async function getStaticProps() {
    const res = await fetch('https://api.github.com/repos/vercel/next.js')
    const json = await res.json()
    return { stars: json.stargazers_count }
}

export default Git

I wanted to load the API data from the "Git" page into the index.js file within the "pages" folder.

In the index.js file, I included the following code to import and load the API data from the "Git" page:

import fetch from "isomorphic-unfetch"
import Git from './Git'

And then added this code:

render () {
    return (
    <Git />

However, when viewing in the browser, I only see HTML content from the "Git" page instead of the API data like intended.

<div>Next stars: </div>

I can access the proper API data if I directly visit the "Git" page, for example: .

Problem Statement: The issue lies in passing the API data from the "Git" page to the main page "index.js". Is there a way to achieve this?

Answer №1

To solve this issue, I implemented the code snippet below into my index.js script:

const gitInfo = await Git.getInitialProps();

This is where I intend to display the information:

<Git {...this.props.gitInfo}/>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

AngularJS withCredentials Issue causing data not to be transmitted

When using AngularJS, I encountered an issue where the cookie/session was not being shared across domains for my Restful API in a subdomain. To address this problem in Angular, I added the following configuration: app.config(['$httpProvider', fu ...

What are the steps to creating milestone lines in a GANTT chart using the highcharts library?

Here is an example of a GANTT chart created with Highcharts: http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/studies/xrange-series/ I am currently working on implementing a similar example that incl ...

In PHP, it is essential to always complete the necessary information in form validation

I've been working on implementing JavaScript form validation, but I seem to be having trouble with testing for empty fields in the form. Whenever I submit a fully filled out form, it keeps asking me to fill in the blank fields. Here is the code I hav ...

Converting a base64 string to a PNG format for uploading to an S3 bucket from the frontend

Feeling a bit overwhelmed here, hoping this isn't just a repeat issue. I've come across similar problems but none of the solutions seem to be working for me at the moment. I'm currently utilizing react-signature-canvas for allowing users to ...

What is the best way to ensure that a server response is received before initiating an Apollo Graph QL Query

Is there a way to call a Graph QL Query after data is received from the useEffect hook? The challenge I am facing is that hooks cannot be called conditionally. If I remove the condition, loadedAnime will become undefined. How can I overcome this limitati ...

Guidelines for choosing a dropdown menu option using jQuery in a WordPress photo gallery

First off, take a look at the screenshot to understand what I'm trying to accomplish: Within WordPress, after clicking on "New Post" and then on the "Add Media" button, a pop-up image gallery appears with an image filtering drop-down menu. My goal is ...

Encountering issues with react-leaflet in NextJS 13

I've been working on setting up a Leaflet map in the new NextJS 13 environment, hoping that with the explicitly declared client-side functions it would make things easier. However, I'm having trouble getting it to work. Here is what my map compon ...

Having difficulty displaying Laravel API data with Relationship in Vue Js

Working on a project that involves Laravel 10 API and Vue.js 3 frontend In my EmployeeController.php file, I have three models: Employee, Title, and Salary. The Employee model has a many-to-many relationship with the Salary and Title models, while the Sal ...

Issue encountered when attempting to send FormData from Next.js API to Express.js backend resulting in Error 405: Bad Request

SOLVED / SEE MY OWN ANSWER FOR DETAILS Encountering a perplexing error that has left me stuck. I am currently facing an issue where I am trying to send an audio recording captured by the user in my Next.js Frontend to my Next.js API, which appears to be f ...

Retrieving specific object properties within an Angular 2 and Ionic 2 form

Within the @Page, I have a few select inputs. In addition to storing the value of the selected option, such as {{project.title}}, I also require the ability to return another selected object property, such as {{project.id}} or even the entire object. When ...

The array remains empty despite attempts to push elements into it

How can I ensure that the elements pushed into the "comments" array are visible outside of the initial foreach loop in this code snippet? const Post = require('../models/post'); const Comment = require('../models/comment'); getpost: a ...

Discover the art of utilizing two distinct binding strings, wherein upon the selection of either, the alternate binding string shall automatically be

Having to use two different bindingstrings is a requirement due to a tool used for creating PDFs. My objective is to have the corresponding bindingstring turn "Off" when a user clicks on either the Yes or No button, and have the clicked button turn to "Yes ...

`How can I utilize typeahead.js to easily read JSON data?`

Looking to utilize JSON file data with typeahead.js for your project? Check out this link. With typeahead.js, users can input a word like "EnglishWords [Best]" and receive a list of all words similar to or starting with "best". Upon selection, the descrip ...

Is it possible to access a comprehensive list of URLs required to download packages from the node modules?

After cloning a project and running npm install, I am interested in obtaining a comprehensive list of all the URLs used to download the files. Is there a method to retrieve this list? ...

Can grapesjs be integrated into AngularJS using a controller?

JavaScript Question var app = angular.module('CompanyProfile', []); app.controller('CompanyProfileCtrl', function() { function initializeEditor() { var editor = grapesjs.init({ allowScripts: 1, ...

Ways to enhance the value of an option within a drop-down menu in angular js 1.x and retrieve the selected value

Can someone help me convert this jQuery code to AngularJS 1.x? <select id="select"> <option value="1" data-foo="dogs">this</option> <option value="2" data-foo="cats">that</option> <option value="3" data-foo="gerbil ...

Retrieve the contents of a script using JavaScript

I have a script on my webpage that looks like this: <script> window.__INITIAL_STATE__ = {"meReducer":{"me":{"id":1234,"groupId":789,"},},//more code removed}; </script> I am looking to trigger a ...

Implement a click event listener to the existing button function

How can I ensure that the function below only fires when the element with id #submit is clicked? I added a back button, but after clicking it, the code below executes unexpectedly. I need to add a condition to ensure that the code below only runs when #sub ...

What are some strategies for exporting methods without resorting to the use of import * as ...?

Imagine having a file structured like this: // HelperFunctions.ts export const dateFormat = 'MM/DD/YYYY'; export const isEmpty = (input: string | null | undefined): boolean => { if (input == null) { return true; } if (!in ...

How can I retrieve a formController in AngularJS?

When trying to reset the data in a form and calling form.setPristine(), I encounter an issue where the formController is not registered within the $scope. It may sound like a basic question, but how can I locate the formController? Within the code snippe ...