【发布时间】:2021-04-17 13:01:27
【问题描述】:
import React, { useState } from 'react'
const data=["Red","Green","blue","orange","yellow"]
function App() {
const [count, setCount] = useState(0)
const [text, setText] = useState([])
const handleSubmit = (e) => {
e.preventDefault()
let amount = parseInt(count)
if (count <= 0) {
amount = 1
}
//for now hardcoding to show only 5 item
if (count > 5) {
amount = 5
}
setText(data.slice(0, amount))
}
return (
<section >
<h3>Generate Fun Ipsum</h3>
<form onSubmit={handleSubmit}>
<label htmlFor='amount'>paragraphs:</label>
<input
type='number'
name='amount'
id='amount'
value={count}
onChange={(e) => setCount(e.target.value)}
/>
<button type='submit'>
generate
</button>
</form>
<article>
{text.map((item, index) => {
return <p key={index}>{item}</p>
})}
</article>
</section>
)
}
export default App
我的查询是如果用户输入值 8 那么我应该再次重申数组并显示 8 个项目
输出应该看起来像 - "红","绿","蓝","橙","黄","红","绿","蓝"
如果用户输入 10,那么输出应该是:
"红","绿","蓝","橙","黄","红","绿","蓝","橙","黄"
如果用户输入 12,那么输出应该是: "红","绿","蓝","橙","黄","红","绿","蓝","橙","黄","红","绿"
我希望我清楚
【问题讨论】:
标签: javascript arrays reactjs react-dom