分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

React Js之组件

发布时间:2023-09-06 01:15责任编辑:胡小海关键词:React组件

  React Js组件:

    组件(Component)是为了更好的维护我们的应用,可以在不影响其他的组件的情况下更新或者更改组件。

    state:是标记数据的来源,我们使state比较简单和单一,如果我们有是个相应的state,我们应该进行相应的封装,我们应该创建一个容器组件来保存所有的值。

    如下面代码:

  import React from ‘react‘
  class App extends React.Component{

???  //有状态的值
???  constructor(){
???????  super();

???????  this.state = {
???????????  data:[
???????????????  {"id":"1","name":"rtony","age":"20"},
???????????????  {"id":"2","name":"xuanyi","age":"20"},
???????????????  {"id":"3","name":"tony","age":"20"},
???????????????  {"id":"4","name":"jimeth","age":"20"},
???????????  ]
???????  }
???  }

???  render(){
???????  return (
???????????  <div>
???????????????  <Header />
???????????????  <Content/>
???????????????  <table>
???????????????????  <tbody>
???????????????????????  {/****注意这里是使用key={i}在map方法中,这将有助于之更新必要的元素,而不是在发生变化时重新绘制整个列表,对于大量动态创建的元素来说,这是一个巨大的性能提升****/}
???????????????????????  {this.state.data.map((person,i) => <TableRow key={i} data={person} />)}
???????????????????  </tbody>
???????????????  </table>
???????????  </div>
???????  );
???  }
  }
class Header extends React.Component{
???render(){
???????return(
???????????<div>
???????????????<h1>header</h1>
???????????</div>
???????);
???}
}

class Content extends React.Component{
???render(){
???????return (
???????????<div>
???????????????<h2>Content</h2>
???????????????<p>this is a content!</p>
???????????</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;
上面的例子中,有三个组件,这三个组件将app的界面分为了三个部分,一个是App主组件,还有其余的子组件header和content,这使界面更容易维护和更新,加入我们需要修改header或者content的内容,只需要改相应的组件就可以了。

React Js之组件

原文地址:http://www.cnblogs.com/tonylovett/p/7614727.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved