#node.js #reactjs #axios
#node.js #reactjs #axios
Вопрос:
Привет, я все протестировал, и это работает. Axios действительно извлекает нужные мне данные. В настоящее время я пытаюсь реализовать это в моем render (), но, похоже, ничего не появляется. Я не уверен, что не так, поскольку я также не получаю никаких ошибок. Ниже приведено то, что я должен отобразить данные спереди.
const [links, setLinks] = useState([]);
useEffect(() => {
if (!userData.user)
history.push("/");
const checkAdmin = async () => {
let currAdmin = userData.user.adminId;
const adminRes = await Axios.get('http://localhost:9000/Links/all?currAdmin=' currAdmin);
setLinks(adminRes.data);
};
checkAdmin();
}, []);
return (
<div className="dashboard">
<Header />
<br /><br />
<h3>Admin Type:</h3>
<ListGroup className="linkList">
{links.map(e => (
<ListGroup.item key={e.adminId}>
{e.links}
</ListGroup.item>
))}
</ListGroup>
</div>
);
Комментарии:
1. Вы уверены, что ваш
adminRes.data
массив?2. Вы уверены, что adminRes.data возвращает то, что вы ожидаете?
3. @kunquan Я полагал, что инициализировал его как массив с помощью функции useState, я довольно новичок в этом, извините. Я видел, как люди делали что-то вроде,
let adminRes = []
хотя я не совсем уверен, правильно ли это или даже применимо к моей проблеме4. @lissettdm Тестирование HTTP-ссылки с помощью axios показывает мне, что я получаю нужные данные
currAdmin
, и весьaxios.get
вызов наверняка работает. Я предполагаю, что я поступаю неправильно с данными, которые отправляются обратно5. Покажите нам ответ
axios.get()
. Я думаю, проблема в том, что либо вы не получаете свои данные обратно, либо ваша форма данных неверна.
Ответ №1:
Вы пробовали вывести checkAdmin из useEffect?
const [links, setLinks] = useState([]);
const checkAdmin = async () => {
let currAdmin = userData.user.adminId;
const adminRes = await Axios.get('http://localhost:9000/Links/all?currAdmin=' currAdmin);
setLinks(adminRes.data);
};
useEffect(() => {
if (!userData.user)
history.push("/");
checkAdmin();
}, []);
return (
<div className="dashboard">
<Header />
<br /><br />
<h3>Admin Type:</h3>
<ListGroup className="linkList">
{links.map(e => (
<ListGroup.item key={e.adminId}>
{e.links}
</ListGroup.item>
))}
</ListGroup>
</div>
);