React最佳实践(1)
React最佳实践不敢妄谈,但最差实践非知乎莫属。
旧版知乎看起来土了点,但体验流畅,起码用起来舒服。
新版知乎看起来UI现代化,技术实现上采用了React,但是可能因为知乎缺钱,请不起高水平的前端工程师,做出来的产品便效率低下、BUG奇多。
平日里最常遇到的问题有两个:
- 编辑器卡顿严重,好像每次按键都触发了某个事件,CPU消耗惊人,中文输入卡顿感非常明显,让人几乎没有码字的欲望。
- 回复框时隐时现,可能是产品经理希望更加智能地展现回复编辑器,可惜技术人员太差劲,经常出现提交按钮隐藏不再出现的BUG,我知道怎么操作修正按钮,但经常嫌麻烦便放弃提交。
个人揣测,这种问题应该是新手用React的典型:
- 不懂渲染机制,导致组件疯狂无用刷新。
- 搞乱状态树,导致状态混乱不堪、难以维护。
作者:苏林
链接:https://www.zhihu.com/question/36516604/answer/148860054
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
React最佳实践(1)的更多相关文章
- [转] React 最佳实践——那些 React 没告诉你但很重要的事
前言:对很多 react 新手来说,网上能找到的资源大都是些简单的 tutorial ,它们能教会你如何使用 react ,但并不会告诉你怎么在实际项目中优雅的组织和编写 react 代码.用谷歌搜中 ...
- 我的 React 最佳实践
There are a thousand Hamlets in a thousand people's eyes. ----- 威廉·莎士比亚 免责声明:以下充满个人观点,辩证学习 React 目前开 ...
- iShow UI for React 最佳实践
React 与 AJAX React只负责处理View这一层,它本身不涉及网络请求/AJAX,所以这里我们需求考虑两个问题: 第一,用什么技术从服务端获取数据: 第二,获取到的数据应该放在react组 ...
- 腾讯优测优分享 | 探索react native首屏渲染最佳实践
腾讯优测是专业的移动云测试平台,旗下的优分享不定时提供大量移动研发及测试相关的干货~ 此文主要与以下内容相关,希望对大家有帮助. react native给了我们使用javascript开发原生app ...
- 探索react native首屏渲染最佳实践
文 / 腾讯 龚麒 0.前言 react native给了我们使用javascript开发原生app的能力,在使用react native完成兴趣部落安卓端发现tab改造后,我们开始对由react n ...
- 总结 React 组件的三种写法 及最佳实践 [涨经验]
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...
- React服务器渲染最佳实践
源码地址:https://github.com/skyFi/dva-starter React服务器渲染最佳实践 dva-starter 完美使用 dva react react-router,最好用 ...
- 我们编写 React 组件的最佳实践
刚接触 React 的时候,在一个又一个的教程上面看到很多种编写组件的方法,尽管那时候 React 框架已经相当成熟,但是并没有一个固定的规则去规范我们去写代码. 在过去的一年里,我们在不断的完善我们 ...
- 总结 React 组件的三种写法 及最佳实践
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...
随机推荐
- 如何让div覆盖canvas元素
第一步 请让该div和canvas同样处于同一画布,都用position:absolute; 然后设置canvas的z-index="-1",是的,你没看错 然后把要覆盖canva ...
- 【windows c】 遍历目录
方式一: DWORD z_dRed = 0; char z_FilePath[MAX_PATH] = {0}; char z_newPath[MAX_PATH] = {0}; char z_tmpPa ...
- 【转】Spark on Yarn遇到的几个问题
本文转自 http://www.cnblogs.com/Scott007/p/3889959.html 1 概述 Spark的on Yarn模式,其资源分配是交给Yarn的ResourceManage ...
- html 颜色在线取色器
推荐一个链接 还不错 http://www.atool.org/colorpicker.php
- dctcp-2.6.26-rev1.1.0.patch
dctcp-2.6.26-rev1.1.0.patch diff -Naur linux-/include/linux/sysctl.h linux--dctcp-rev1.1.0/include/l ...
- MyEcplise使用---使用 MyEclipse 反转引擎生成数据库
使用 MyEclipse 反转引擎,生成数据库 步骤: 1. 新建 Database 连接 2. 新建web项目 temp 添加myeclipse hibernate 能力 3. Hibernate ...
- windows10下运行XX-net
现在墙高了,原来配置的ip4没法用了,所以重新配置一下XX-NET,这篇博客的内容参考了末尾的网站,如果我的办法行不通可以去这个网站查看其他方法 下载XX-NET 打开https://github.c ...
- January 31 2017 Week 5 Tuesday
Better to get hurt by the truth than comforted with a lie. 被真相伤害好过被谎言安慰. For ourselves, we need to b ...
- [转]Activitys, Threads, & Memory Leaks
转自:http://www.androiddesignpatterns.com/2013/04/activitys-threads-memory-leaks.html http://www.cnblo ...
- C#配置IIS搭建网站的工具类
public class IISWorker { public static string HostName = "localhost"; /// <summary> ...