首先在component的类中定义了一个按钮抽象出来的一个类

  class Component {setState (state) {const oldEl = this.elthis.state = statethis._renderDOM()if (this.onStateChange) this.onStateChange(oldEl, this.el)}_renderDOM () {this.el = createDOMFromString(this.render())if (this.onClick) {this.el.addEventListener('click', this.onClick.bind(this), false)}return this.el}}

这个mount函数中的wrapper就是我们在在html中写的div的类

在wrapper中添加删除操作后的dom节点

  const mount = (component, wrapper) => {wrapper.appendChild(component._renderDOM())component.onStateChange = (oldEl, newEl) => {wrapper.insertBefore(newEl, oldEl)wrapper.removeChild(oldEl)}}

可以在构造函数中进行参数的传递在constructor中进行props的传参,在传参后我们可以通过一些暴露的可修改的变量,来进行组件功能扩展

  class LikeButton extends Component {constructor (props) {super(props)this.state = { isLiked: false }}onClick () {this.setState({isLiked: !this.state.isLiked})}render () {return `<button class='like-btn' style="background-color: ${this.props.bgColor}"><span class='like-text'>${this.state.isLiked ? '取消' : '点赞'}</span><span>												

读react.js小书 抽象公共组件类相关推荐

  1. React.js 小书 Lesson1-2 - 前端组件化(一):从一个简单的例子讲起

    React.js 小书 Lesson1-2 - 前端组件化(一):从一个简单的例子讲起 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson2 ...

  2. React.js 小书 Lesson24 - PropTypes 和组件参数验证

    作者:胡子大哈 原文链接: http://huziketang.com/books/react/lesson24 转载请注明出处,保留原文链接和作者信息. 我们来了到了一个非常尴尬的章节,很多初学的朋 ...

  3. React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一)

    React.js 小书 Lesson18 - 挂载阶段的组件生命周期(一) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson18 转载请注 ...

  4. React.js小书总结

    (迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...

  5. React.js 小书 Lesson12 - state vs props

    React.js 小书 Lesson12 - state vs props 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson12 转载请注 ...

  6. React.js 小书 Lesson14 - 实战分析:评论功能(一)

    React.js 小书 Lesson14 - 实战分析:评论功能(一) 本文作者:胡子大哈 本文原文:http://react.huziketang.com/blog/lesson14 转载请注明出处 ...

  7. React.js 小书 Lesson27 - 实战分析:评论功能(六)

    React.js 小书 Lesson27 - 实战分析:评论功能(六) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson27 转载请注明出 ...

  8. React.js 小书 Lesson5 - React.js 基本环境安装

    React.js 小书 Lesson5 - React.js 基本环境安装 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson5 转载请注明 ...

  9. React.js 小书 Lesson15 - 实战分析:评论功能(二)

    作者:胡子大哈 原文链接: http://huziketang.com/books/react/lesson15 转载请注明出处,保留原文链接和作者信息. 上一节我们构建了基本的代码框架,现在开始完善 ...

  10. 前端组件化-抽象公共组件类

    优化上次的组件化小demo 上次的组件化demo只是为了简单的实现前端组件化的思想,这次我们稍微优化一下抽离公共类 下面代码 html <div id="wrapper"&g ...

最新文章

  1. 在线等:“实习拿到两个不太好的offer,去腾讯还是去阿里?”
  2. 一本算法刷题必读配套书(附链接)
  3. Linus Torvalds:Linux背后的智者
  4. 无人车时代:用深度学习辅助行人检测
  5. 【PAT笔记】C++标准模板库STL(二)——set的用法和示例
  6. abv asp是静态网页吗_2019年seo动态网页优化“指南针”
  7. 如何从Angular的ActivatedRoute数据结构中获得运行时路由信息
  8. 可访问性不一致 可访问性低_什么是网站可访问性?
  9. Data-Hack SQL注入检测
  10. 公司绝不会告诉你的20大秘密
  11. 书单|阅读让人越来越低
  12. 20151024-1025-威海-第5届全国高校软件工程专业教育年会参会总结
  13. 如何删除git本地分支
  14. 函数式编程的兴衰(Composing Software 1)
  15. 实战 Flutter 象棋从零到上架
  16. windows98远程桌面连接
  17. 常见搜索引擎蜘蛛大全
  18. 珍珠项链(洛谷-P2768)(Dp矩阵加速)
  19. 服务器卡logo显示2f,战争机器4卡LOGO界面解决办法
  20. Mac上安装R语言运行环境及RStudio [超详细!~]

热门文章

  1. 如何在百度收录平台注册账号获取Token
  2. RedHat 下载地址
  3. java messagedigest,在C#中的Java MessageDigest类
  4. layui编辑器上传图片
  5. ··· Socks Online - 在内部网也能使用QQ ···
  6. 继电保护原理3-输电线纵差
  7. java计算机毕业设计辅导员班级量化管理系统MyBatis+系统+LW文档+源码+调试部署
  8. Unity使用fungus插件实现对话系统
  9. 【虚幻引擎4系列教程】第1章:虚幻引擎4的安装指导
  10. 基于SSM开发的的小区物业管理系统小程序源码