react入门-组件方法、数据和生命周期

react组件也像vue一样,有data和methods,但是写法就很不同了:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>state</title>
</head>
<body>
    <div id="app"></div>
    <script src="common/react.js"></script>
    <script src="common/react-dom.js"></script>
    <script src="https://cdn.bootcss.com/babel-core/5.8.38/browser.js"></script>
    <script type="text/babel">
        class App extends React.Component {
            constructor(props) {
                super(props)
                //data react官方这边叫state,在组件contructor上面定义
                this.state = {
                    count: 0
                }
                //如果不bind(this)下面dom元素调用的时候this将会是undefined
                //这个是react的大坑
                this.add = this.add.bind(this)
            }
            //最常用个的生命钩子WillMount,DidMount,WillUpdate,DidUpdat
            componentWillMount() {
                console.log(‘1.componentWillMount‘)
            }
            componentDidMount() {
                console.log(‘2.componentDidMount‘)
            }
            componentWillUpdate(){
                console.log(‘4.componentWillUpdate‘)
            }
            componentDidUpdate(){
                console.log(‘3.componentDidUpdate‘)
            }
            //自定义方法,注意需要在constructor上bind(this)
            add(event) {
                console.log(‘add‘)
                // 如果只写这"state.count++"react是不会自动重新去render组件的
                // this.state.count++
                // 只有调用setState react才会重新渲染组件
                this.setState({count: this.state.count+1})
            }
            //组件必须的render函数,相当于vue的<template>...</template>
            render() {
                return (<div>
                    <input type="text" value={this.state.count}/>
                    <input type="button" value="add" onClick={this.add}/>
                </div>)
            }
        }
        //渲染到#app上
        ReactDOM.render(
           <App/>,
           document.querySelector(‘#app‘)
        )
    </script>
</body>
</html>

原文地址:https://www.cnblogs.com/amiezhang/p/8505272.html

时间: 2024-07-31 20:24:46

react入门-组件方法、数据和生命周期的相关文章

React Native组件的结构和生命周期

React Native组件的结构和生命周期 一.组件的结构 1.导入引用 可以理解为C++编程中的头文件. 导入引用包括导入react native定义的组件.API,以及自定义的组件. 1.1 导入组件 1.2 导入API 1.3 导入自定义组件 2.组件的声明 组件的生命分为组件的定义和样式.组件的定义有各种组件的组成结构.方法的定义. 2.1 组件的定义 2.2 组件样式 组件样式的定义可以直接在组件的定义中的style中定义.但是对于样式复杂的组件需要组件样式. 3.组件的注册或导出

React 源码剖析系列 - 生命周期的管理艺术

目前,前端领域中 React 势头正盛,很少能够深入剖析内部实现机制和原理. 本系列文章 希望通过剖析 React 源码,理解其内部的实现原理,知其然更要知其所以然. 对于 React,其组件生命周期(Component Lifecycle)是它的核心概念,本文从源码入手,来剖析 React 生命周期的管理艺术. 阅读本文需要对 React 有一定的了解,如果你不知何为组件的生命周期,请详读 React 生命周期的文档. 如果你对 React 组件的生命周期存在些许疑惑,如生命周期如何顺序管理:

android开发3:四大基本组件的介绍与生命周期

android开发3:四大基本组件的介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器,. 生命周期 是指进程周期 – 创建到结束的过程 进程类别 前台进程:当前正在前台运行的进程 可见进程:显示在前台中,但用户并未在和其进行交互 服务进程:为用户提供服务的进程 后台进程 空进程:该进程一般是为了缓存机制而存在的 组件介绍 Activity(表现层) 应用程序中,一个Act

.Net组件程序设计之对象生命周期

.Net组件程序设计之对象生命周期 .NET 垃圾回收 IDisposable() Using语句 .NET 垃圾回收 是CLR管理着垃圾回收器,垃圾回收器监控着托管堆,而我们使用的对象以及系统启动是所需要的一些必备的对象信息都存在于托管堆上,CLR会维护着一个列表(对象引用信息列表). 这个列表里存放的信息就是对应着托管堆中所有对象的信息(引用.被引用信息)每当使用一个新的对象或者是改变一个现有对象的引用CLR都会更新 对象引用信息列表.那么回收器一般什么时候调用呢? 垃圾回收器大多数是在托管

React学习笔记-4-什么是生命周期

什么是声明周期?组件本质上就是状态机,输入确定,输出一定确定.如何理解这一点?react有两个特点,第一个就是去除了所有的手动dom操作,也就是使用jsx.第二个就是组件把状态和结果一一对应起来,从而能够直观的看出来,程序在不同的状态是的输出.属性是由父组件传递给子组件的,状态是子组件内部维护的一些数据,当状态发生变化时候,组件也会进行更新,因此我们可以理解成一个state对应一个render的结果,这样我们就可以知道在不同的state下,组件会render出什么样的结果,从而就知道组件在页面上

React基础篇 (3)-- 生命周期

生命周期是react中的重要部分,理解它有助于我们更合理的书写逻辑. 组件的生命周期可分成三个状态: Mounting:已插入真实 DOM Updating:正在被重新渲染 Unmounting:已移出真实 DOM 生命周期的方法有: componentWillMount :在渲染前调用,在客户端也在服务端. componentDidMount : 在第一次渲染后调用,只在客户端.之后组件已经生成了对应的DOM结构. 可以在这个方法中调用setTimeout, setInterval或者发送AJ

Android 四大组件之Service 的生命周期和使用

Service简介: Service 是Android的四大组件之一,一般用于没有UI界面,长期执行的后台任务,即使程序退出时,后台任务还在执行.比如:音乐播放. Service的误区: 1.service在UI线程中执行. 2.不可以在service中执行耗时任务,因为service是在UI线程中运行的. 3.如果需要执行后台的耗时任务,必须在Service中开启一个线程来执行. Service的生命周期: 启动和停止Service的两种方式 1.context.startService():

DJANGO入门系列之(Django请求生命周期and路由层)

昨日回顾 1 orm 创建表,新增字段,修改,删除字段,不能创建数据库 -字段属性phone=models.CharField(max_length=64,null=True) -null=True 代表该列可以为空 2 数据的增删改查 -增(1):User.objects.create(address='') -增(2):实例化产生一个user对象,user对象的save方法 -删:User.objects.filter(id=1,name='lqz').first().delete() -删

Android四大组件之Activity的生命周期

Activity作为Android程序中的四大组件之一,它和大部分的组件一样都是有自己的生命周期,而Activity的生命周期总的分为五种状态以及七个方法! 只大致讲 五种状态 和 七个方法 五种状态: 在Activity生命周期即从创建到销毁全过程中,分为五种状态分为启动.运行.暂停.停止和销毁. 需要注意的是:Activity活动时不会在 启动 和 销毁 这两种状态下停留下来有活动,因为这两种状态作为Activity活动的过渡状态.所以在Activity触发启动操作之后马上就会进入运行状态不