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 的区别相关推荐

  1. React 全家桶(react脚手架 redux react-redux react-router-dom ui库 reactHook)含 自定义hook的方法及使用

    文章目录 React 入门 React 简介 React 为何物 为何学习 React React 初体验 来一发 Hello React 创建虚拟 DOM 的两种方式:JS 和 JSX 虚拟 DOM ...

  2. React 学习笔记

    导 1. react- 用于构建用户界面的javaScript 库 发送请求获取数据 处理数据(过滤.整理) 操作dom 呈现页面 react 是一个将数据渲染微HTML视图的开源 JavaScrip ...

  3. React学习笔记(上)

    一.React文件的创建(不使用脚手架进行文件的创建过程) 1.1.这里的React文件是一个html文件,或者是一个js文件,需要安转相关依赖 React:是React的核心包 React-dom: ...

  4. react16.8-17 全家桶学习 QA

    适用人群:刚开始学习 react 框架的同学,当作参考查阅. 说明:多以自己分析整理为主,如有错误理解请指正,谢谢! 笔记来源 开始 – React (Q1-2,有点傻的问题已经删掉了) 尚硅谷Rea ...

  5. 【尚硅谷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. ...

  6. react脚手架日常学习记录

    文章目录 一. 初始化React脚手架 1.基础相关 2.创建项目 3.脚手架项目结构 4.流程相关 二. 规范相关 三. input相关 四. react父子组件传值 五. TodoList案例小总 ...

  7. React系统学习笔记

    ***当前阶段的笔记 *** 「面向实习生阶段」https://www.aliyundrive.com/s/VTME123M4T9 提取码: 8s6v 点击链接保存,或者复制本段内容,打开「阿里云盘」 ...

  8. React学习笔记---React脚手架

    React脚手架 一.使用create-react-app创建react应用 1.react脚手架 2.创建项目并启动 3.react脚手架项目结构 4.功能界面的组件化编码流程(通用) 5.用脚手架 ...

  9. react-TodoList案例

    TodoList案例 一 TodoList案例_静态组件 需要理解的概念有: 根据目标页面进行组件拆分规划 样式内容的变化className与style的变化 样式文件的拆分App.css以及各个模块 ...

最新文章

  1. 如何连接mongodb数据库,并且从中查找数据
  2. html弹窗确认取消公告代码,js 弹出确认与取消对话框的四种方法
  3. centos7 安装图形界面、VNCserver
  4. 分享一款最近比较火爆的宝石迷情游戏游戏源码安卓版
  5. esp8266环境搭建
  6. 从中台、数仓与元数据不为人知的3个角度,看数据管理的生与死
  7. cas客户端登陆状态不同步_Java并发——同步组件
  8. Redis集群案例与场景分析
  9. js获取html中div里的标签id_【学废了】HTML初步
  10. c 语言文本文件判断是否到达结尾的问题
  11. 全国医院排名(2008)
  12. 转载:王垠 的《完全用Linux工作》
  13. 2020年6月24日训练总结(codeforces辛路历程)
  14. SQL报错及解决方法(随缘更新)
  15. linux驱动主从设备号,在 Linux 设备管理中,除了设备类型外,内核还需要一对被称为主从设备号的参数,才能唯一标识一个设备。( )相同的设备使用相同的驱动程序...
  16. iOS 代理(Delegate)
  17. IT外包公司的运作模式如何,他们的赚钱之道何在
  18. 《java并发编程的艺术》阅读笔记总结
  19. MD5骨骼动画模型加载
  20. chrome源代码目录结构简介(版本4.1.249.1059)

热门文章

  1. 2020年的创业趋势是什么?未来适合什么行业钱赚的多?[附十六大趋势]
  2. J - 【黄色】这题真的是模板题 (Gym - 102072J )(spfa)
  3. 关于Tushare库的使用
  4. Hive 导出数据的五种方式
  5. 小罗与卡卡辞别世界杯
  6. 读《任正非在2012实验室的讲话》总结
  7. 计算机视觉中的多视图几何 -- 2D射影几何与变换 --无穷远直线、虚圆点及其对偶以及恢复图像的仿射性质
  8. java里面的语法糖(糖衣语法)
  9. 小白初写Spring核心容器功能
  10. 那些值得一看的数学电影!