如何多次渲染一个元素

How to render an element several times

我有一个必须渲染的项目列表(js 对象)。该列表如下所示:https://imgur.com/a/lEgfMHd

category: {id: 1, name: "Mac"}
created_at: "2021-08-13T21:07:03.619726Z"
id: 4
name: "iMac 24”"
preview_image: "/media/images/f1cb8efe-13e1-482e-97ca-30ffdf88e3c0.png"
price: 1699
sales: 0
updated_at: "2021-08-13T21:10:07.247422Z"

我需要渲染所有这些元素,但我不知道该怎么做。现在我可以渲染一个元素,如果我只知道他的索引,就像这样

render() {

        const {items} = this.state

        const countItems = Object.keys(items).length

        const secEl = items[1]
        let url = ''
        if(secEl && secEl.preview_image) {
            url = '*******'
            url = url + secEl.preview_image
        }

        return(
            <div className='store-items'>
                <div className='store-item'>
                    <img className='store-item__img' src={url}></img>
                    <h3 className='store-item__title'>{secEl && secEl.name}</h3>
                    <h3 className='store-item_price'>${secEl && secEl.price}</h3>
                </div>
            </div>
        )
    }

我知道如何获取列表中的项目数,但我不知道如何多次渲染具有不同名称、价格和 img 的相同元素。

请帮帮我,我是 React 的新手

创建一个 JSX 元素数组。

items.map((item, index) => {
    let url = url = secEl.preview_image
    return (
        <div id={index} className='store-item'>
            <img className='store-item__img' src={url}></img>
            <h3 className='store-item__title'>{item.name}</h3>
            <h3 className='store-item_price'>${item.price}</h3>
        </div>
    )
}

return(
    <div className='store-items'>
        { items }            
    </div>
)