我有一个报价生成器,我正试图实现一个功能,显示在特定数量的对象在时间.我试过使用map,但它返回它不是一个函数.现在我有它来生成一个随机引用,但我想有一个选项,以显示一个特定的数字.如有任何帮助,我们不胜感激.这就是起作用的方法,但我注释掉了,以试用这张 map .
App.js
import { useState, useEffect } from "react";
import Footer from "./Components/Footer/Footer";
import Quote from "./Components/Quote/Quote";
import "./App.css"
import { data } from "./Components/Data/Data";
import { characterData } from "./Components/Data/CharacterData"
import CharacterBios from "./Components/CharacterBios/CharacterBios";
import Header from "./Components/Header/Header";
function App() {
const [quote, setQuote] = useState();
const [isLoading, setIsLoading] = useState(true);
const randomise = () => {
const randomNumber = Math.floor(Math.random() * data.length);
setQuote(data[randomNumber]);
};
//math.floor makes it a whole number, and the equation above goes through the data at random
useEffect(() => {
randomise();
setIsLoading(false);
}, []);
return (
<div className="App">
<Header />
<div className="main">
<h1>Quote Generator</h1>
{isLoading ? <p>Quote now loading...</p> : <Quote data={quote} />}
<button onClick={randomise}>Generate Quote</button>
<CharacterBios characterData={characterData} />
<Footer />
</div>
</div>
);
}
export default App;
Jsx:Quote.jsx
import React from 'react'
const Quote = ({data}) => {
return (
<div className='container quote-section'>
<div className="row">
{data.slice(0).map((item,index)=> (
<div className="col-xl-4 col-lg-4 col-md-6 col-sm-12" key={index}>
<div className="marked-content-card">
<p><span className="name">{item.name}</span></p>
<p>{item.quote}</p>
</div>
</div>
))}
</div>
{/* <blockquote> {
data.quote
}
<p>-{
data.name
}</p>
</blockquote> */}
</div>
)
}
export default Quote;