博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
组件的props属性和state状态
阅读量:7096 次
发布时间:2019-06-28

本文共 1648 字,大约阅读时间需要 5 分钟。

props属性:

  我使用代码来说明React中props属性:

// Profile.jsximport React from 'react' ;export default Class Profile extends React.Component {    // render 是这个组件渲染的Vitrual DOM结构    render() {        return (            

my name is {
this.props.name}

my age is {
this.props.age}

) }}

用这种方式,就实现了一个React的组件,在其他的组件中,可以像HTML标签一样引用它。有了组件以后,可以使用React提供的另外一个库ReactDOM把这个组件挂载到DOM节点上。

// app.jsximport  { render } from 'react-dom';import Profile from './profile';render(
, document.getElementById('app'));// 或者可以使用...属性拓展const props = { name: 'lewis', age: 26};render(
, document.getElementById('app'));

 

state状态:

  state是组件内部的属性。组件本身是一个状态机,它可以在constructor中通过this.state直接定义它的值,然后根据这此值来渲染不同的UI。当state的值发生改变时,可以通过this.setState方法让组件再次调用render方法来渲染新的UI。
//Profile.jsxexport default class Profile extends React.Component {  constructor (props) {    super (props);    this.state = {      liked: 0    };    this.likedCallback = this.likedCallback.bind(this);  }  likedCallback() {    let liked = this.state.liked;    liked++;    this.setState({      liked    });  }  render() {    return (      

我的名字叫{
this.props.name}

我今年{
this.props.age}

总点赞数:{
this.state.liked}

) }}
  和上面描述的一样,在constructor中添加this.state的定义,每次单击按钮以后调用回调函数,给当前liked值加1,然后更新this.setState完成UI的重新渲染。因为在ES6 class 类型的component组件声明方式中,不会把一些自定义的callback函数绑定到实例上,所以需要手动在constructor里面绑定。
this.likedCallback = this.likedCallback.bind(this);

转载于:https://www.cnblogs.com/xiaojuziya/p/11094477.html

你可能感兴趣的文章
Yii2数据缓存详解
查看>>
02Scala-函数定义、流程控制、异常处理入门实战
查看>>
jquery,smarty,dedecms的插件思路------dede未实践
查看>>
php pdo错误:SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
查看>>
Team Foundation Server:CodeUI Automation Test 学习笔记4
查看>>
Linux 小知识翻译 - 「cron」
查看>>
docker 一些简略环境搭建及部分链接
查看>>
android studio获取SHA1
查看>>
怎么才能在windows使用git命令
查看>>
Sigar应用
查看>>
从单体架构到微服务的演变之路
查看>>
Valgrind内存泄露检测工具使用初步
查看>>
PDF 补丁丁 0.5.0.2657 发布
查看>>
vue之axios使用
查看>>
VBA批量删除excel表高级版
查看>>
docker & nodejs & mongodb
查看>>
css 清除浮动
查看>>
Python_Selenium学习笔记(2)-浏览器操作方法
查看>>
excel自定义函数添加和使用方法
查看>>
C# 压缩组件介绍与入门
查看>>