I have an API that's working properly in postman but not in my react app. When I call the API from react it doesn't appear to return anything. I added a console.log statement and saw that it was returning two empty arrays before returning my data four times. I can't figure out what I'm doing wrong. I've added my code below. It's one page to test a grid plugin. React is a new programming language for me.
import { RevoGrid } from "@revolist/react-datagrid";
import { useState, useEffect } from "react";
import urlApiHost from "../utils/UrlHost";
const columns = [
{
prop: "Title",
name: "Title",
size: 300,
},
{
prop: "Link",
name: "Link",
size: 500,
},
];
const selectedCat1 = "softwarestuff";
const selectedCat2 = "";
export default function LinkGrid({}) {
const [links, setLinks] = useState([]);
useEffect(() => {
const fetchLinks = async () => {
var param1 = "cat1=" + encodeURIComponent(selectedCat1);
var param2 = "cat2=" + encodeURIComponent(selectedCat2);
var param3 = "sortDate=";
var url = urlApiHost + "linksapi/linkslistTest/?" + param1 + "&" + param2 + "&" + param3;
console.log("linkslist url: " + url);
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
const data = await response.json();
setLinks(data);
} catch (err) {
console.log(err);
}
};
fetchLinks();
}, []);
console.log(JSON.stringify(links));
const [source] = JSON.stringify(links);
return (
<>
</>
);
}
Top comments (1)
Did some more testing and found the issue is not with my react API code. I added the code below and it showed the data in the unordered list as expected.
I create a dummy JSON data object inside the code and the revogrid worked when I used the static data as the source. I took that same data and put in in a JSON file, called that file using fetch and used it as the data source. The grid did not show any data or errors but the UL was populated properly. I may just move on from this plugin.