环境准备

安装create-react-app

通过安装create-react-app,我们可以在本地创建前端应用。

npm install -g create-react-app

紧接着我们可以创建一个项目:

create-react-app first_react_app
cd  first_react_app
npm start

基于组件开发应用

这是React开发的首要思想。组件是什么呢?
简单说就是:能完成某个特定功能的独立的,可重用的代码。

现在添加一个计时器组件,我们先把这个组件定义好:

// ClickCounter.js
import React, { Component } from 'react';class ClickCounter extends Component {constructor(props) {super(props);// 事件监听函数this.onClickButton = this.onClickButton.bind(this);// 初始状态this.state = { count: 0};}onClickButton() {this.setState({ count: this.state.count + 1 });}render() {return (<div><button onClick={ this.onClickButton }> Click Me </button><div>Click Count: { this.state.count }</div></div>);}
}
export default ClickCounter;

在初始阶段,先一块一块解析。这里要引入关键的React以及{ Component },然后要定义一个类,之前的语法是通过React.creatClass完成,现在换成class ClickCounter extends Component,然后我们在里面写构造器函数,定义一个点击监听函数,并将其绑定到本组件,在render()函数里,渲染要显示的内容,并通过变量占位,实时更新数据。

现在我们把这个组件代码引入到index.js.

import ClickCounter from './ClickCounter'
ReactDOM.render(<ClickCounter />, document.getElementById('root') // 在index.html中有个id为root的div
);

界面会自动刷新,可以看到计时器组件成功运用了~~~

END.

参考:

《深入浅出React和Redux》

【React】添加新组件相关推荐

  1. React Native新组件之SwipeableFlatList

    做过移动开发的同学都应该清楚,侧滑删除是移动开发中的一个常见功能.在官方没提供侧滑组件之前,要实现侧滑效果需要使用第三方库,如react-native-swipe-list-view.不过随着Reac ...

  2. java frame清除控件_java – 清除JFrame的组件并添加新组件

    我有一个JFrame,它有一些选项.当按下OK按钮时,我想要相同的JFrame清除内容并添加新内容.我试过了,但问题是新的JFrame被弹出.我究竟做错了什么? import java.awt.*; ...

  3. 前端学习(2325):angular之添加新组件

    app.component.html <div style="text-align:center"><h1>welcome to {{title}}< ...

  4. react 给一个引用的组件添加新属性_高阶组件在React中的应用

    高阶组件的定义 接受React组件作为输入,输出一个新的React组件. 概念源自于高阶函数,将函数作为参数,或者输出一个函数,如map,reduce,sort. 用haskell的函数签名来表示: ...

  5. 初步了解React Native的新组件库firstBorn

    first-born is a React Native UI Component Framework, which follows the design methodology Atomic Des ...

  6. angular在IE下报object doesn't support property or method matches问题,以及router-outlet切换时不删除原组件而是添加一个新组件

    angular在IE下有时会报object doesn't support property or method matches问题 同时,在router-outlet切换时,不删除原组件而是添加一个 ...

  7. react+hook函数组件实现表单添加数据,表格展现

    效果图: 目录结构:(目分为主页面BookTable,以及两个组件,表格组件和添加书籍组件) 主页面:主要是将两个组件引入进页面,并将添加书籍事件.删除书籍事件传递给子组件,由子组件触发. impor ...

  8. react 返回一个页面_Fiber 内部: 深入理解 React 的新 reconciliation 算法

    最近在看 React, 发现一篇深度好文, 忍不住就翻译了. React 是一个用于构建用户界面的库, 它的核心是跟踪组件状态变化并将它们更新到页面上. 在 React 中, 我们称这个过程为 rec ...

  9. uiw 1.2.17 发布,基于 React 16 的组件库

    发布, 高品质的UI工具包,React 16+的组件库. 文档网站:uiw-react.github.io 开源仓库:github.com/uiw-react/u- 更新内容: ? 修复没有代码检测文 ...

最新文章

  1. html文本可选择,如何用javascript选择html文本?
  2. [云炬创业管理笔记]第一章测试1
  3. 【mongoDB】 备份
  4. 挨批评了!Chrome 对用户隐私保护还不如 IE?
  5. buuctf-misc部分wp(更新一下)
  6. 海豚湾(还是忍不住说日本人真的太垃圾了)
  7. 关于react-router-dom 6.0.1的基础写法 解决Error: A <Route> is only ever to be used as the child of <Routes>
  8. 2021-1-26-java生成二维码
  9. 必备的 Linux 性能诊断分析工具!(文末送书)
  10. macOS BigSur Parallel Desktop 16 Win10 虚拟机无法连接网络
  11. 简单最短路径问题编程c语言,最短路径动态规划问题及C语言_实现.pdf
  12. 杀毒软件之我谈!!我的杀毒软件使用心得!!!
  13. Java制导软件_GitHub - yaoceyi/JavaCC: JavaCC实现简易编译器
  14. 用于安全医疗保健系统的基于机器学习的可伸缩区块链架构
  15. insight 360插件_适用于Spring Insight的MongoDB插件
  16. Date Vault 概念
  17. Linux操作系统管理公共基础——积累
  18. php cs fixer config,使用php-cs-fixer来格式化php代码
  19. mac外界键盘更换command与ctrl键功能
  20. 2021-06-27剑指offer 14-1.剪绳子

热门文章

  1. gmat阅读.html,GMAT阅读方法之——抽象词提炼
  2. 存PHP,数据存储 · PHP – Bmob后端云
  3. 如何查看python的工作目录_Python3基础 os listdir curdir查看当前工作目录的所有文件的名字...
  4. linux的RPM支持图片格式,Linux下rpm、yum和源码三种安装方式详细介绍
  5. Ubuntu18.04系统中python3.7安装MultiNEAT库
  6. java中将查询数据导出_如何在R中将数据框导出到Excel
  7. jquery提交表单_jQuery提交表单
  8. linux chown命令_Linux chown命令示例
  9. easymock使用方法_EasyMock无效方法– ExpectLastCall()
  10. C语言基础学习教程之数据类型