I am new to React. I don't understand why it's showing an error. I need to repeat the array object but when It reaches the last array it does not restart.
https://codesandbox.io/s/generate-quote-xpu1q
index.js:
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
const rootElement = document.getElementById("root");
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
rootElement
);
app.js:
import React, { useState, useEffect } from "react";
import "./styles.css";
// import { qutoes } from "./Fetch";
export default function App() {
// const data = qutoes;
const [data, setData] = useState("loading");
const [index, setIndex] = useState(0);
const qutoesBtn = () => {
if (index === data.length - 1) {
setIndex(0);
} else {
setIndex(index + 1);
}
};
useEffect(() => {
fetch("https://type.fit/api/quotes")
.then(res => res.json())
.then(res2 => {
console.log(res2.slice(0, 10));
const lists = res2.slice(0, 10);
setData(lists);
});
}, []);
return (
<div className="App">
<h1>Generate Quote</h1>
<h4>
{data === "loading" ? (
"loading...!!"
) : (
<div>
My qutoes is ---- <br />
<span> {data[index].text}</span> <br /> Author is --
{data[index].author}
</div>
)}
</h4>
<button onClick={qutoesBtn}>Generate Quote</button>
</div>
);
}
