Я знаю, что об этом несколько раз спрашивали в Stack Overflow, но другие решения, похоже, у меня не работают.
Я пытаюсь получить доступ к уведомлениям в этом JSON файле.
Мой JSON файл: https://dinkyapp.000webhostapp.com/db.json
Это мой JSON файл плохо структурирован? Я знаю, что он довольно большой. В мире за пределами React файл JSON работает нормально. Но в React это не работает, независимо от того, разбираю ли я, конвертирую в массивы et c. Должен ли я вместо этого сделать несколько файлов меньшего размера?
В моем примере я пытаюсь получить доступ к уведомлениям и вернуть их в JSX.
Я получаю сообщение об ошибке «Объекты недействительны как дочерние объекты React». Я также получаю notifs.map - это не функция. Предположительно это связано с тем, что передаваемые данные не имеют формат массива.
Код моего компонента:
import React, { useState, useEffect } from 'react';
import axios from 'axios';
const GetData = () => {
let [notifs, setNotifs] = useState([]);
useEffect(() => {
axios.get('db.json').then((res) => {
var data = res.data.clients.clientID_1.notifications;
setNotifs(data);
});
}, []);
const getIDs =
notifs.map(item => {
return (
<p key={notifs.reqID}>{notifs.text}</p>
)
})
return <div>{getIDs}</div>;
};
export default GetData;
Я почти собираюсь вернуться к Vanilla JS, поскольку я пробовал много способов. Но я думаю, что мои данные JSON плохие. Если кто-нибудь может посоветовать, пожалуйста?
Большое спасибо