#reactjs #api #react-hooks #state
#reactjs #API #реагирующие крючки #состояние
Вопрос:
Я пытаюсь найти решение для выполнения двух вызовов API и получения необходимых мне данных.
Для последнего параметра editedBy я получаю длинный идентификатор в виде строки, поэтому меня попросили сделать второй вызов API, где я могу найти соответствующий идентификатор для моего параметра. Мне нужно будет принять во внимание тот факт, что даже если сейчас в приложении есть пользователь, со временем их число увеличится, поэтому мне нужно отслеживать данные каждого человека и того, кто внес правку. Мой вопрос в том, как мне это сделать?
На данный момент я попробовал приведенный ниже код:
import React, { useEffect, useState } from 'react';
import { getManagerUser } from '/api.js';
import { getUser } from './api.js';
const DisplayDataComponent = () => {
const [firstName, setFirstName] = useState('');
const [lastName, setLastName] = useState('');
const [editedBy, setEditedBy] = useState('');
useEffect(() => {
getManagerUser(managerId).then(res => {
const managerData = res.data
getUser(userId).then(res => {
const userData = res.data
setFirstName(managerData);
setLastName(managerData);
setEditedBy(`${userData.firstName} ${userData.lastName}`);
})
})
},[])
return (
<div>
<p>{firstName}</p>
<p>{lastName}</p>
<p>{editedBy}</p>
</div>
)}
И для лучшего понимания я жестко запрограммировал информацию об API:
const manager = [
{
id: "2jdd00934hflsp443esd",
firstName: 'John',
lastName: 'Smith',
editedBy: '3hdifu03434kdlfjvds'
}
]
const user = [
{
id: '3hdifu03434kdlfjvds',
firstName: 'Marry',
lastName: "James"
}
]
Ответ №1:
Лучший способ заключается в том, что сценарий должен обрабатываться серверной частью. Серверная часть должна поддерживать один API для предоставления полных данных.