将每个返回的对象推入数组React

时间:2019-01-14 23:14:46

标签: javascript reactjs

我具有此功能,可根据资源是否存在来获取资源。一切都会显示,但是我需要将每个资源推送到resultArray中。我正在使用forEach循环,但无法正常工作,我想念什么?

renderResource = (resource = {}, i) => {
            let { resourceFile = "", resourceDescription= "" } = resource;

            if (!resourceFile) { return null }


            let resultArray = [];

            resource.forEach((resource, index) => {
                resultArray.push(resource);
            });

2 个答案:

答案 0 :(得分:0)

资源是一个对象。用于in方法:

for (let key in resource) { 
  console.log(resource[key]);
}

答案 1 :(得分:0)

首先,您需要遍历resource的值。由于它是一个对象,因此可以使用Object.values(resource)来获得它们。

第二,您应该使用.map()而不是.forEach(),因为.forEach()实际上不会返回任何内容。

import React, { useState } from 'react';
import { render } from 'react-dom';

const App = () => {
  const [stuff, setStuff] = useState({ hello: 'hello', world: 'world'})

  return (
    Object.values(stuff).map(v => <div>{v}</div>)
  )
}

render(<App />, document.getElementById('root'));

实时示例here