ReactJS映射包含对象

时间:2018-04-13 19:57:24

标签: reactjs

我有代码的那部分

const links = [
  {
    name: 'How it works',
    ref: '/'
  },
  {
    name: 'Calendar',
    ref: 'calendar'
  },
  {
    name: 'Contact me',
    ref: 'contact'
  }
];

const renderLinks = links.map((link, index) =>
  <li className="nav-item active" key={index}>
    <a className="nav-link" href={link.ref || "#"}>
      {link.name}
    </a>
  </li>
);

但是当我尝试渲染它时会抛出错误。

render() {
    return (
      {renderLinks}
    );
  }
  

对象无效作为React子对象(找到:带键的对象)   {renderLinks})。如果您要渲染一组孩子,请使用   而是一个数组。

我认为,我必须得到一个数组,但React认为有一个对象。

1 个答案:

答案 0 :(得分:2)

React认为这是一个对象,因为你确实提供了一个对象。如果你在没有快捷方式属性表示法的情况下编写它就是这样的:

render() {
  return {
    renderLinks: renderLinks
  );
}

直接在没有renderLinks的情况下直接返回{ }

render() {    
  return renderLinks;
}