当前位置: 首页 > news >正文

外贸自己做网站/百度seo招聘

外贸自己做网站,百度seo招聘,网页传奇怎么开,h5页面制作工具下载React 入门笔记 做一个简单todolist 文章目录React 入门笔记 做一个简单todolist安装react精简代码下面进行代码修改第一步,看文档,不多说 安装react 环境准备: 安装node ,去官网下载安装,安装完自带npm包管理工具 …

React 入门笔记 做一个简单todolist

文章目录

  • React 入门笔记 做一个简单todolist
    • 安装react
    • 精简代码
      • 下面进行代码修改

第一步,看文档,不多说

安装react

环境准备:

  • 安装node ,去官网下载安装,安装完自带npm包管理工具

根据官网教程,create react app

npx create-react-app my-app
cd my-app
npm start // or yarn start

npx 是一个帮你执行文件的工具

npx 会自动查找当前依赖包中的可执行文件,如果找不到,就会去 PATH 里找。如果依然找不到,就会帮你安装!

精简代码

打卡src目录,只保留index.js app.js 文件内的其他依赖都删掉,只保留 React ReactDOM 相关的代码

index.js 是入口文件,修改后index.js 文件如下:

import React from 'react';
import ReactDOM from 'react-dom';
import TodoList from './TodoList';ReactDOM.render(<TodoList />, document.getElementById('root'));

原本的组件名<App />改为了<TodoList />

修改app.js重命名为TodoList.js把原来的内容改为如下:

import React, { Component } from 'react'class TodoList extends Component {render() {return (<div>hello react</div>)}
}
export default TodoList

页面也可以正常运行,并在页面上显示出hello react

下面进行代码修改

用jsx语法写页面结构代码,代码经过优化

知识点:

  • js的this绑定,写在dom上的方法this会指向dom元素,需要用bind绑定this到class
  • es6语法,扩展运算符,解构赋值,对象属性简写
  • 父组件通过参数的形式向子组件传递参数
  • 子组件通过props接收父组件传递过来的参数
  • 父子组件通信,子组件通过父组件传递过来的方法,触发父组件上绑定的方法,达到通信的目的

TodoList.js

import React, { Component, Fragment } from 'react'
import TodoItem from './TodoItem'
import './style.css'class TodoList extends Component {constructor(props) {super(props)this.state = {list: [],inputValue: ''}this.handleInputChange = this.handleInputChange.bind(this)this.handleBtnClick = this.handleBtnClick.bind(this)this.handleDelete = this.handleDelete.bind(this)}handleInputChange(e) {this.setState({inputValue: e.target.value})}handleBtnClick() {this.setState({list: [...this.state.list, this.state.inputValue],inputValue: ''})}handleItemClick(index) {console.log(index)const list = [...this.state.list]list.splice(index, 1)this.setState({list})}// 父组件通过属性的形式向子组件传递参数// 子组件通过props接收父组件传递过来的参数handleDelete(index) {console.log(index)const list = [...this.state.list]list.splice(index, 1)this.setState({list})}getTodoItem() {return this.state.list.map((item, index) => {return (<TodoItemdeleteItem={this.handleDelete}key={index}content={item}index={index}/>)})}render() {return (// Fragment 只作包裹作用,不会产生一个div<Fragment><inputvalue={this.state.inputValue}onChange={this.handleInputChange}/><button className="red-btn" onClick={this.handleBtnClick}>add</button><ul>{this.getTodoItem()}</ul></Fragment>)}
}export default TodoList

src目录下新建一个TodoItem.js

import React from 'react'class TodoItem extends React.Component {constructor(props) {super(props)this.handleDelete = this.handleDelete.bind(this)}// 子组件如果想和父组件通信,子组件要调用父组件传递过来的方法handleDelete() {// console.log(this.props.index)// this.props.delete(this.props.index) //代码优化const {deleteItem, index} = this.propsdeleteItem(index)}render() {const {content} = this.propsreturn (<div onClick={this.handleDelete}>{content}</div>)}
}
export default TodoItem

完整代码demo: https://gitee.com/hotsuitor/react_demo.git

用过vue开发过项目,入门react,觉得react写起来真的爽

http://www.jmfq.cn/news/4846825.html

相关文章:

  • 专业的营销型网站建设公司/百度在线识别图片
  • 吉林建设工程信息网站/18款禁用网站app直播
  • 中国十佳企业网站设计公司/推广网站推广
  • 东营做网站哪里好/优化内容
  • 做软件需要网站吗/怎样在百度打广告
  • 哪个网站做简历好/网站推广常用方法
  • 老阿姨哔哩哔哩b站肉片入口直播/游戏特效培训机构排名
  • 南京汽车 企业 网站建设/做网站哪家好
  • 瑞金网站建设/天津网站建设公司
  • 抖音引流推广软件/seo网站优化培
  • 做网站有地区差异吗/友情链接检索数据分析
  • 头条滚动 wordpress/seo整合营销
  • 中国移动在线营销服务中心/宁波网站快速优化
  • 建设网站网站名/百度代做seo排名
  • 昆山专业网站建设公司/seo搜索优化专员招聘
  • 大连网站建设培训/爱站网爱情电影网
  • 网站建设相关参考资料/苏州关键词排名提升
  • 网站里面的链接怎么做的/中文域名注册
  • wordpress破解登录密码破解/太原seo管理
  • 购物商城网站的运营/企业网站设计思路
  • 如何查看网站cms系统/网络推广页面
  • 兰州高端网站/服务器
  • 网站开发工程师缺口/seo优化报价公司
  • 网站制作建设有哪些/宁波seo公司排名
  • 电子商务网站中最基本的系统是/重庆seo结算
  • 整站优化服务/刚刚刚刚刚刚好痛
  • 电商网站 厦门/企业网站官网
  • 网站seo搜索引擎优化怎么做/优化网站的意思
  • 网站内移动的图片怎么做的/app接入广告变现
  • 域名解析手机网站建设/济南网站建设制作