我有一个定义如下的组件。 creativeList包含我有兴趣显示的值。它包含以下内容:

creativeList = [{keyID: "AC072", cost: 1461, people: 520, cpp: "2.81"},
{keyID: "AC098", cost: 1600, people: 470, cpp: "3.4"}]


我希望能够通过在组件中返回keyID来显示它。我可以通过登录到控制台来获取值,但是,我无法将其返回。有人可以帮我吗?

function DisplayList(props) {
    const creativeList = props.creativeList

    function ret(){
        creativeList.forEach(function(item){
            const i = item[0]

            console.log(i.keyID)

            return (
                <li>{i.keyID}</li>
            );
        })
    }

    return (
        <div>
            <li>List:</li>
            {ret()}
        </div>
    );
}

export default DisplayList;

最佳答案

在forEach语句之前添加return语句,并用map替换forEach


map返回由其回调参数返回的元素的数组,这与forEach不同。

forEach返回undefined,这就是为什么列表没有得到打印的原因。

function ret(){
        return creativeList.map(function(item){

            console.log(item.keyID)

            return (
                <li>{item.keyID}</li>
            );
        })
    }

09-11 17:44