【备战春招】第2天 React实战
2023/2/9 4:24:13
本文主要是介绍【备战春招】第2天 React实战,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
**课程名称:** React16.4 快速上手
**课程章节:第2章 React实战
课程讲师: Dell
课程内容:
1、首先创建一个todolist.js组件
import React from 'react' class TodoList extends React.Component { render(){ return ( <div> todolist </div> ) } }
2、定义输入input还有渲染的ul
import React from 'react' class TodoList extends React.Component { render(){ return ( <div> <div> <input /> <button>add </button> </div> <ul> <li>学习react</li> <li>学习vue</li> </ul> </div> ) } }
3、添加state,循环渲染state
import React from 'react' class TodoList extends React.Component { constructor(props){ super(props); this.state = { list:[ 'learn react', 'learn english' ], } } handleBthClick(){ this.setState({ list:[...this.state.list,this.state.inputValue], }) } render(){ return ( <div> <div> <input /> <button onClick={this.handleBthClick.bind(this)}>add </button> </div> <ul> { · this.state.list.map((item,index) => { return <li key={index} >{item}</li> }) } </ul> </div> ) } }
4、对input添加绑定事件实现添加
import React from 'react' class TodoList extends React.Component { constructor(props){ super(props); this.state = { list:[ 'learn react', 'learn english' ], inputValue:'' } } handleBthClick(){ this.setState({ list:[...this.state.list,this.state.inputValue], inputValue:'' }) this.state.list.push('hello world') } handleInputChange(e){] this.setState({ inputValue:e.target.value }) } render(){ return ( <div> <div> <input onClick={this.handleInputChange.bind(this)} /> <button onClick={this.handleBthClick.bind(this)}>add </button> </div> <ul> { · this.state.list.map((item,index) => { return <li key={index} onClick={this.handleItemClick.bind(this)}>{item}</li> }) } </ul> </div> ) } }
5、给每一个li删除事件
import React from 'react' class TodoList extends React.Component { constructor(props){ super(props); this.state = { list:[ 'learn react', 'learn english' ], inputValue:'' } } handleBthClick(){ this.setState({ list:[...this.state.list,this.state.inputValue], inputValue:'' }) this.state.list.push('hello world') } handleInputChange(e){] this.setState({ inputValue:e.target.value }) } handleItemClick(index){ const list = [...this.state.list] list.splice(index,1) this.setState({ list:list }) } render(){ return ( <div> <div> <input onClick={this.handleInputChange.bind(this)} /> <button onClick={this.handleBthClick.bind(this)}>add </button> </div> <ul> { · this.state.list.map((item,index) => { return <li key={index} onClick={this.handleItemClick.bind(this,index)}>{item}</li> }) } </ul> </div> ) } }
课程收获:
学习到了在react中需要在最外层嵌套一个外部标签
才可以正常的渲染,否则就会报错,利用onClick={this.handleBthClick}给元素添加点击事件,其中利用bind定义this,否则函数中的this使用的是元素本身,使用this.state定义数据,使用{this.state.list.map}对数据进行循环使用,使用循环的时候参数添加index,绑定key值,否则会报错,重新定义一个inputValue的值,添加后赋值为空,
这篇关于【备战春招】第2天 React实战的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Vue2面试真题详解与实战教程
- 2024-12-27Vue3面试真题详解与实战攻略
- 2024-12-27JS大厂面试真题解析与实战指南
- 2024-12-27JS 大厂面试真题详解与实战指南
- 2024-12-27React 大厂面试真题详解及应对策略
- 2024-12-27Vue2 大厂面试真题详解及实战演练
- 2024-12-27Vue3 大厂面试真题详解及实战指南
- 2024-12-27Vue3大厂面试真题详解与实战攻略
- 2024-12-26React入门教程:从零开始搭建你的第一个React应用
- 2024-12-25Vue2入门教程:轻松掌握前端开发基础