React(6) --双向数据绑定及列表数据循环
React双向数据绑定:model改变影响view,view改变反过来影响model
import React,{Component} from 'react';
class Todolist extends Component {
constructor(props) {
super(props);
this.state = {
username:""
};
}
inputChange=(e)=>{
this.setState({
username:e.target.value
})
}
setUsername=()=>{
this.setState({
username:'李四'
})
}
render() {
return (
<div>
<h2>双休数据绑定</h2><input value={this.state.username} onChange={this.inputChange}/>
<p> {this.state.username}</p>
<button onClick={this.setUsername}>改变username的值</button>
</div>
);
}
}
export default Todolist;
使用 map 渲染列表数据
JSX 的表达式插入 {} 里面可以放任何数据
用户数据的 JSX 结构抽离成一个组件 User ,并且通过 props 把 user 数据作为组件的配置参数传进去;这样改写 Index 就非常清晰了,看一眼就知道负责渲染 users 列表,而用的组件是 User
const users = [
{ username: 'Jerry', age: , gender: 'male' },
{ username: 'Tomy', age: , gender: 'male' },
{ username: 'Lily', age: , gender: 'female' },
{ username: 'Lucy', age: , gender: 'female' }
] class User extends Component {
render () {
const { user } = this.props
return (
<div>
<div>姓名:{user.username}</div>
<div>年龄:{user.age}</div>
<div>性别:{user.gender}</div>
<hr />
</div>
)
}
} class Index extends Component {
render () {
return (
<div>
{users.map((user, i) => <User key={i} user={user} />)}</div>
)
}
} ReactDOM.render(
<Index />,
document.getElementById('root')
)
React(6) --双向数据绑定及列表数据循环的更多相关文章
- react 的双向数据绑定
学习过angular和vue的人都知道,它俩在实现双向数据绑定都是有一个专门的内置指令ngModel和v-model 但是在react中没有这些. 所以我们在react中想要实现双向数据绑定要调用一个 ...
- angular 双向数据绑定与vue数据的双向数据绑定
二者都是 MVVM 模式开发的典型代表 angular 是通过脏检测实现,angular 会将 UI 事件,请求事件,settimeout 这类延迟的对象放入到事件监测的脏队列,当数据变化的时候,触发 ...
- React简单实现双向数据绑定
import React, { Component } from 'react' import ReactDOM from 'react-dom' class App extends Componen ...
- vue 双向数据绑定的实现学习(一)
前言:本系列学习笔记从以下几个点展开 什么是双向数据绑定 双向数据绑定的好处 怎么实现双向数据绑定 实现双向数据数据绑定需要哪些知识点 数据劫持 发布订阅模式 先看看我们要实现的目标是什么,如下动图: ...
- vue学习笔记(二)- 数据绑定、列表渲染、条件判断
vue的数据绑定和列表渲染的造轮子 GitHub:八至 作者:狐狸家的鱼 双向数据绑定 Vue中数据的双向绑定-v-model 数据->页面 页面->数据 适用:input.select. ...
- angular和vue双向数据绑定
angular和vue双向数据绑定的原理(重点是vue的双向绑定) 我在整理javascript高级程序设计的笔记的时候看到面向对象设计那章,讲到对象属性分为数据属性和访问器属性,我们平时用的js对象 ...
- Vue中双向数据绑定是如何实现的?
vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的, 也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变:核心:关于VUE双向数据绑定,其核心是 Ob ...
- angular,vue,react的基本语法—双向数据绑定、条件渲染、列表渲染、angular小案例
基本语法: 1.双向数据绑定 vue 指令:v-model="msg" react constructor(){ this.state{ msg:"双向数据绑定" ...
- Angular4.x 创建组件|绑定数据|绑定属性|数据循环|条件判断|事件|表单处理|双向数据绑定
Angular4.x 创建组件|绑定数据|绑定属性|数据循环|条件判断|事件|表单处理|双向数据绑定 创建 angular 组件 https://github.com/angular/angular- ...
随机推荐
- 6.dockerfile
一.概述 自制镜像的目的不是为了解决配置更新的问题,而是为了定制化应用服务. 镜像的制作:基于容器制作:dockerfile dockerfile的格式:注释信息+指令(约定俗成使用大写)及其参数 d ...
- 英语单词leading
leading 来源——https://www.docker.com/products/docker-hub 翻译 a. 领导的,指导的:最主要的 词根词缀词源 leader汉语英译为了“领导”
- PHP截取字符串函数,根据dede修改而来
dede中,有一个函数function cn_substr_utf8($str, $length, $start=0) 但测试时,并不如我所想的一样,可能是因为个人使用习惯吧.比如,字符串为数字或字母 ...
- Crazy Binary String
Crazy Binary String 最长01个数相等的子串和子序列 字串用二分做的,有hack数据 :8 00111100 好像数据太水,直接放过去了 下面为二分代码 #include<bi ...
- php面向对象编程(oop)基础知识示例解释
面向对象并不是一种技术,而是一种思想,是一种解决问题的最基本的思维方式!如何理解使用?OOP:面向对象编程 (直接代码说明) 1.面向对象的基本概念 示例demo: <?php header(& ...
- (转)cat > file << EOF 的用法
转:https://www.cnblogs.com/chenjingchao/p/6259572.html cat> 文件名<<eof 用来创建文件在这之后输入任何东西 都是在 文件 ...
- PHP-操作json
输出 json 文件中文处理 <?php $json_array = array(); // 1.转换为json字符串(不自动转换为unicode编码) if (version_compare( ...
- Python的Django框架中的URL配置与松耦合
Python的Django框架中的URL配置与松耦合 用 python 处理一个文本时,想要删除其中中某一行,常规的思路是先把文件读入内存,在内存中修改后再写入源文件. 但如果要处理一个很大的文本,比 ...
- vue事件的绑定
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- Learn Python the hard way, ex39 列表的操作
#!/usr/bin/python #coding:utf-8 ten_things = "apples oranges crows telephone light sugar" ...