JS / React函数返回字符串属性,但返回[object Object]

问题描述 投票:0回答:1

你好,我有这个功能

const getNameListMarkdown = (props: Props) => {
    if (isDefined(props.details)) {
      return (
      Object.keys(props.details).map(x => <p>{props.details![x].name}</p>)
      );
    }

    return '';
  };

[出于某种原因,当我尝试渲染时,将其渲染为[对象对象],例如,如果我在列表中有两个对象,则将其渲染为[对象对象]。如果我在Object.keys控制台登录,则会在.name空间中写出应有的字符串。因此,它应该返回一个字符串,但不呈现为。如果我检查在调用此函数的地方返回的内容,它将收到一个vNode对象,该对象可以在children数组中看到字符串。任何人都知道如何正确执行此操作

javascript reactjs
1个回答
0
投票
React element(它是一个对象),而不是HTML字符串。

同时,Array.prototype.map给您一个数组。因此,最终得到一个包含两个对象的数组。

[当您(直接或隐式)调用数组上的.toString()时,会得到由数组的每个成员组成的字符串(因此

two

"[object Object]"s]
© www.soinside.com 2019 - 2024. All rights reserved.