Я впервые работаю с React и Next.js, так что я не очень опытен, но я пытаюсь помочь с проектом, который использует обе эти вещи. Мне нужно получить массив художников с конечной точки и использовать его в ProjectForm
. Функция getInitialProps
используется для этого в другом месте проекта, поэтому я пытаюсь последовать этому примеру, но не знаю, как передать эти данные в ProjectForm
. Я пробовал что-то вроде const ProjectForm = (props: ProjectFormProps, artists)
и добавлял artists: artists
к ProjectFormProps
, но без кубиков. Как я могу использовать artists
данные, которые я получаю от функции getInitialProps
в ProjectForm
? Любая помощь будет высоко ценится!
import React, { useState, useEffect, useReducer } from 'react';
import axios from 'axios';
interface ProjectFormProps {
entity: any;
user: any;
projectTypes?: any;
handleButtonClick?: any;
isNew?: boolean,
onSubmitForm?: Function,
onChange?: Function,
};
const ProjectForm = (props: ProjectFormProps) => {
console.log(artists);
return (
<h1>Artists</h1>
);
}
ProjectForm.getInitialProps = async ({ req }) => {
const baseUrl = req ? `${req.protocol}://${req.get('Host')}` : '';
const artists = await axios.get(`${baseUrl}/api/artists`)
.then(res => res.data)
.catch(err => console.error(err, 'Unable to retrieve artists from API.'));
return {
artists
};
};
export default ProjectForm;