Javascript 反应JS第一个表

Javascript 反应JS第一个表,javascript,reactjs,Javascript,Reactjs,你好,我是react js的新手,我现在想创建一个没有db连接的简单表。我创建了类似这样的东西,但我不知道如何创建列名。Smb知道如何创建 class App extends React.Component { constructor() { super(); this.state = { data: [ { "i

你好,我是react js的新手,我现在想创建一个没有db连接的简单表。我创建了类似这样的东西,但我不知道如何创建列名。Smb知道如何创建

class App extends React.Component {
    constructor() {
        super();
        this.state = {
            data:
                [
                    {
                        "id": 1,
                        "name": "Foo",
                        "age": "20"
                    },
                    {
                        "id": 2,
                        "name": "asdas",
                        "age": "30"
                    },
                    {
                        "id": 3,
                        "name": "fgdf",
                        "age": "40"
                    }
                ]
        }
    }

    render() {
        return (
            <div>
                <Header/>
                <table>
                    <tbody>
                    {this.state.data.map((person, i) => <TableRow key={i}
                                                                  data={person}/>)}
                    </tbody>
                </table>
            </div>
        );
    }
}

class Header extends React.Component {
    render() {
        var myStyle = {
            fontSize: 20,
            color: '#2aa445'
        }
        return (
            <div>
                <h1 style={myStyle}>Person Table</h1>
            </div>
        );
    }
}

class TableRow extends React.Component {
    render() {
        return (
            <tr>
                <td>{this.props.data.id}</td>
                <td>{this.props.data.name}</td>
                <td>{this.props.data.age}</td>
            </tr>
        );
    }
}

export default App;
类应用程序扩展了React.Component{
构造函数(){
超级();
此.state={
数据:
[
{
“id”:1,
“名称”:“Foo”,
“年龄”:“20”
},
{
“id”:2,
“名称”:“asdas”,
“年龄”:“30”
},
{
“id”:3,
“名称”:“fgdf”,
“年龄”:“40”
}
]
}
}
render(){
返回(
{this.state.data.map((person,i)=>)}
);
}
}
类头扩展了React.Component{
render(){
var myStyle={
尺寸:20,
颜色:“#2aa445”
}
返回(
人员表
);
}
}
类TableRow扩展了React.Component{
render(){
返回(
{this.props.data.id}
{this.props.data.name}
{this.props.data.age}
);
}
}
导出默认应用程序;

此代码仅显示clera文本,而不显示表列和行:/这可能只是一些简单的内容。

您需要表列标题标记

<th>Col name 1</th>
Col name 1
这里有一个例子


JS中的表与HTML中的表相同

列名是使用
th
标记创建的。您还需要一行(
tr
)。在您的情况下,代码将如下所示:

<table>
          <tr>
            <th>Column1</th>
            <th>Column2</th>
            <th>Column3</th>
          </tr>
         <tr>
                <td>{this.props.data.id}</td>
                <td>{this.props.data.name}</td>
                <td>{this.props.data.age}</td>
            </tr>
        </table>
但是,这会使所有内容在边框内有点紧,因此也要给它们一些填充:

td {
  padding: 10px
}
编辑:这是一个更好的表格版本:

类应用程序扩展了React.Component{
渲染(){
返回(
专栏1
专栏2
第3栏
this.props.data.id
this.props.data.name
这个。道具。数据。时代
)
}
}
ReactDOM.render(
,
document.getElementById('app')
);
表格,td,th{
边框:1px纯黑;
}
运输署{
填充:10px
}

您可以这样做,这是动态创建表的最简单方法。如果您想添加更多列,那么也可以添加相同数量的td。 如果你想给你的桌子增添一些风格,请看一看


列名
{
data.map((项目、索引)=>{
返回({item})
})
} 

你用同样的方式包装标题:你计算出名称,然后手动编码,或者将它们放入集合并迭代,为标题创建一行,为每个标题创建一个
。你还应该添加表标题,例如:“”,你的意思是?{this.state.data.map((person,i)=>RETURN())}。箭头功能不需要它。但是很高兴,你已经看过我的例子了,你是说这里是这个.props.data.id?不,您可能不需要定义构造函数,而this.props将自动可用您没有使用任何框架这就是为什么您在数据中看不到任何边框aur单元格边框,您可以使用css添加自定义边框,就像@theJuls answer一样,或者您可以使用引导框架,它将为您提供默认的表格外观。问题不是关于表格外观,而是关于表格标题。然后检查我的答案以添加我们使用的表格标题,并在表格标题添加中添加列
td {
  padding: 10px
}
<table>
 <thead>
  <tr>
   <th>
     COLUMN NAME
   </th>
  </tr>
 </thead>
<tbody>
 {
   data.map((item,index)=>{
     return(<td key={index} > {item} </td>) 
   })
 } 
</tbody>
</table>