如何循环语义ui反应?

时间:2018-02-07 06:03:29

标签: javascript reactjs semantic-ui semantic-ui-react

我正在学习反应。对于CSS我使用语义 - 反应。我正在尝试使用文档创建一个标签:https://react.semantic-ui.com/modules/tab。我理解它现在如何工作我想根据用户要求生成动态标签。假设我有一个像这样的对象:

[{name: "10jan", key: "10jan"}, 
 {name: "12jan", key: "12jan"},
 {name: "14jan", key: "14jan"}]

我想基于此生成动态标签。我的代码就是这个

const panes = [
    { dates.map((date) => (
        return (
          menuItem:{date.name},
          render(){
            <div>Test</div>
          }
        )
      ) }
    ]

我做错了什么?

2 个答案:

答案 0 :(得分:3)

根据文档,您可以执行以下操作。请参阅demo

import 'semantic-ui-css/semantic.min.css';
import React, { Component } from 'react';
import { render } from 'react-dom';
import { Tab } from 'semantic-ui-react';

const data = [
  { name: "10jan", key: "10jan" }, 
  { name: "12jan", key: "12jan" },
  { name: "14jan", key: "14jan" },
 ];

const panes = data.map(d => ({
  menuItem: d.name,
  render: () => <Tab.Pane> { d.key }</Tab.Pane>
}));

const App = () => (
  <div>
    <Tab panes={ panes } />
  </div>
);

答案 1 :(得分:2)

state = {
  dataArray:[{name: "10jan", key: "10jan"}, 
 {name: "12jan", key: "12jan"},
 {name: "14jan", key: "14jan"}]
}

renderItems() {
  const {dataArray} = this.state
  return dataArray.map((item,i) => <div key={i}>{item.name}</div>)
}

render() {
  return (
    <div>
       {this.renderItems()}
    </div>
  )
}

我们不会一次又一次地使用渲染方法。 这是一种可以渲染动态视图的方法