React.js 小书 Lesson3 - 前端组件化(二):优化 DOM 操作
React.js 小书 Lesson3 - 前端组件化(二):优化 DOM 操作
转载请注明出处,保留原文链接以及作者信息 在线阅读:http://huziketang.com/books/react/ 看看上一节前端组件化(一):从一个简单的例子讲起我们的代码,仔细留意一下 一个组件的显示形态由多个状态决定的情况非常常见。代码中混杂着对 DOM 的操作其实是一种不好的实践,手动管理数据和 DOM 之间的关系会导致代码可维护性变差、容易出错。所以我们的例子这里还有优化的空间:如何尽量减少这种手动 DOM 操作? 状态改变 -> 构建新的 DOM 元素更新页面这里要提出的一种解决方案:一旦状态发生改变,就重新调用 class LikeButton { constructor () { this.state = { isLiked: false } } setState (state) { this.state = state this.el = this.render() } changeLikeText () { this.setState({ isLiked: !this.state.isLiked }) } render () { this.el = createDOMFromString(` <button class='like-btn'> <span class='like-text'>${this.state.isLiked ? '取消' : '点赞'}</span> <span> |
- 如何从C#中删除Firebase中的所有侦听器?
- flash – AS3中的TextFieldAutoSize和textWidth
- ruby-on-rails – 没有路由匹配控制器显示 – 脚
- c# – 将wav文件转换为wav文件(更改格式)
- activity_main.xml: java.lang.NullPointerExcep
- c# – ReSharper中是否有一个选项不能将对象初始
- c# – 单元测试.net Web Api.设置查询字符串值
- 正则表达式 – 正则表达式,数字空格破折号限制为
- 智能语义聚合框架:像人类一样收集和理解知识
- c# – System.Net.HttpWebResponse返回System.IO