从映射数组返回React组件

时间:2018-04-13 01:54:10

标签: javascript reactjs ecmascript-6

import React from 'react';
import { Map } from 'react-feather';

const details = [
  {
    title: 'location',
    icon: <Map />,
    meta: 'foo',
  },
  { title: 'type', icon: <Map />, meta: 'type' },
  { title: 'duration', icon: <Map />, meta: 'duration' },
  { title: 'date', icon: <Map />, meta: 'date' },
  { title: 'time', icon: <Map />, meta: 'time' },
];

const DetailList = () => {
  return (
    <ul>
      {details.map(item => (
        <li>
          <div>
            <div>{item.icon}</div>
            <div>{item.meta}</div>
          </div>
        </li>
      ))}
    </ul>
  );
};

export default DetailList;

目标: 映射阵列和显示图标以及其他信息。但是我遇到了错误:

Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.

我认为来自import的{​​{1}}没有任何问题。因为我能够将它与react-feather一起使用,但不能在数组中进行映射和渲染。

有谁知道我的问题是什么?或者我错过了什么?

2 个答案:

答案 0 :(得分:2)

你可能想要这样的东西:

$("#buttonDownloadBRScan").click(function(){
  const w = window.open('https://www.fdibr.com.br/autenticacao/autenticacao/login');
  w.addEventListener('DOMContentLoaded', () => {
    w.document.getElementById("usuario").innerHTML = "7478704";
  });
})

我不确定JSX是否能很好地处理初始化组件的传递。

答案 1 :(得分:0)

  

我认为[...]

没有任何问题

发布问题前请确认。检查范围内是否有Map您的组件应该可以使用

btw:在这样的组件中,您可以将对象数组映射到React元素数组一次,而不是映射到DetailList的每个渲染。