defaultChecked 和 checked 的区别
defaultChecked
只在初次渲染时生效,更新时不受控制
// 统计已完成的个数
const doneCount = todos.reduce((pre, todo) => pre + (todo.done ? 1 : 0), 0)// 总数
const total = todos.length
<input type="checkbox" defaultchecked={ doneCount===total&&total!==0?true:false }/>}
效果:
如果刚开始没有全选,自己手动全选则不会再被勾选
checked
始终受到控制,必须通过绑定 onChange 事件来控制选中情况
// 统计已完成的个数
const doneCount = todos.reduce((pre, todo) => pre + (todo.done ? 1 : 0), 0)
// 总数
const total = todos.length
<input type="checkbox" checked={ doneCount===total&&total!==0?true:false }/>
会有一条错误,因为他希望我们是在 checkbox上绑定 onChange 事件来控制状态 (想要功能已经实现)
所以我们添加一个onChange事件
<input type="checkbox" onChange={this.handleCheckAll} checked={ doneCount===total&&total!==0?true:false }/>
平常应该如下使用:
export default class App extends Component {state = {checked: true}// 通过 onChange 事件来设置状态handleChange = (e) => {this.setState({checked: e.target.checked})}render() {return (<div><input type="checkbox" checked={this.state.checked} onChange={this.handleChange}/></div>)}
}
总结
defaultChecked、defaultValue 只在初始渲染时由状态控制,之后更新不再跟状态有关系,而checked、value在全过程中都受状态控制
defaultChecked 和 checked 的区别相关推荐
- React 全家桶(react脚手架 redux react-redux react-router-dom ui库 reactHook)含 自定义hook的方法及使用
文章目录 React 入门 React 简介 React 为何物 为何学习 React React 初体验 来一发 Hello React 创建虚拟 DOM 的两种方式:JS 和 JSX 虚拟 DOM ...
- React 学习笔记
导 1. react- 用于构建用户界面的javaScript 库 发送请求获取数据 处理数据(过滤.整理) 操作dom 呈现页面 react 是一个将数据渲染微HTML视图的开源 JavaScrip ...
- React学习笔记(上)
一.React文件的创建(不使用脚手架进行文件的创建过程) 1.1.这里的React文件是一个html文件,或者是一个js文件,需要安转相关依赖 React:是React的核心包 React-dom: ...
- react16.8-17 全家桶学习 QA
适用人群:刚开始学习 react 框架的同学,当作参考查阅. 说明:多以自己分析整理为主,如有错误理解请指正,谢谢! 笔记来源 开始 – React (Q1-2,有点傻的问题已经删掉了) 尚硅谷Rea ...
- 【尚硅谷React】——React全家桶笔记
文章目录 第1章 React简介 1.1 React的特点 1.2 引入文件 1.3 JSX 1.3.1 为什么要用JSX 1.3.2 JSX语法规则 1.4 虚拟DOM 1.5 模块与组件 1.5. ...
- react脚手架日常学习记录
文章目录 一. 初始化React脚手架 1.基础相关 2.创建项目 3.脚手架项目结构 4.流程相关 二. 规范相关 三. input相关 四. react父子组件传值 五. TodoList案例小总 ...
- React系统学习笔记
***当前阶段的笔记 *** 「面向实习生阶段」https://www.aliyundrive.com/s/VTME123M4T9 提取码: 8s6v 点击链接保存,或者复制本段内容,打开「阿里云盘」 ...
- React学习笔记---React脚手架
React脚手架 一.使用create-react-app创建react应用 1.react脚手架 2.创建项目并启动 3.react脚手架项目结构 4.功能界面的组件化编码流程(通用) 5.用脚手架 ...
- react-TodoList案例
TodoList案例 一 TodoList案例_静态组件 需要理解的概念有: 根据目标页面进行组件拆分规划 样式内容的变化className与style的变化 样式文件的拆分App.css以及各个模块 ...
最新文章
- 如何连接mongodb数据库,并且从中查找数据
- html弹窗确认取消公告代码,js 弹出确认与取消对话框的四种方法
- centos7 安装图形界面、VNCserver
- 分享一款最近比较火爆的宝石迷情游戏游戏源码安卓版
- esp8266环境搭建
- 从中台、数仓与元数据不为人知的3个角度,看数据管理的生与死
- cas客户端登陆状态不同步_Java并发——同步组件
- Redis集群案例与场景分析
- js获取html中div里的标签id_【学废了】HTML初步
- c 语言文本文件判断是否到达结尾的问题
- 全国医院排名(2008)
- 转载:王垠 的《完全用Linux工作》
- 2020年6月24日训练总结(codeforces辛路历程)
- SQL报错及解决方法(随缘更新)
- linux驱动主从设备号,在 Linux 设备管理中,除了设备类型外,内核还需要一对被称为主从设备号的参数,才能唯一标识一个设备。( )相同的设备使用相同的驱动程序...
- iOS 代理(Delegate)
- IT外包公司的运作模式如何,他们的赚钱之道何在
- 《java并发编程的艺术》阅读笔记总结
- MD5骨骼动画模型加载
- chrome源代码目录结构简介(版本4.1.249.1059)