2019年,React 开发者应该掌握的 22 种神奇工具
猴子补丁: 这个叫法起源于 Zope 框架,大家在修正 Zope 的 Bug 的时候经常在程序后面追加更新部分,这些被称作是“杂牌军补丁(guerilla patch)”,后来 guerilla 就渐渐的写成了 gorllia(猩猩),再后来就写了monkey(猴子),所以猴子补丁的叫法是这么莫名其妙的得来的。
import React from 'react'
import Button from '@material-ui/core/Button'
const Child = (props) => <div {...props} />
const Child2 = ({ children, ...props }) => (
<div {...props}>
{children} <Child />
</div>
)
Child2.whyDidYouRender = true
const App = () => {
const [state, setState] = React.useState({})
return (
<div>
<Child>{JSON.stringify(state, null, 2)}</Child>
<div>
<Button type="button" onClick={() => setState({ hello: 'hi' })}>
Submit
</Button>
</div>
<Child2>Child #2</Child2>
</div>
)
}
export default App
npx create-react-app <name> --typescript
import React from 'react'
import {
Log,
VisualizerProvider,
traceLifecycle,
} from 'react-lifecycle-visualizer'
class TracedComponent extends React.Component {
state = {
loaded: false,
}
componentDidMount() {
this.props.onMount()
}
render() {
return <h2>Traced Component</h2>
}
}
const EnhancedTracedComponent = traceLifecycle(TracedComponent)
const App = () => (
<VisualizerProvider>
<EnhancedTracedComponent />
<Log />
</VisualizerProvider>
)
// Hoist helper functions (but not vars) to reuse between test cases
const renderComponent = ({ count }) =>
render(
<StateMock state={{ count }}>
<StatefulCounter />
</StateMock>,
)
it('renders initial count', async () => {
// Render new instance in every test to prevent leaking state
const { getByText } = renderComponent({ count: 5 })
await waitForElement(() => getByText(/clicked 5 times/i))
})
it('increments count', async () => {
// Render new instance in every test to prevent leaking state
const { getByText } = renderComponent({ count: 5 })
fireEvent.click(getByText('+1'))
await waitForElement(() => getByText(/clicked 6 times/i))
})
用属性、上下文和状态的任意组合下渲染组件
模拟每个外部依赖项(例如 API 响应、localStorage 等)
与正在运行的实例进行交互时,查看应用程序状态的实时变化
import React from 'react'
import FileView from './src/components/FileView'
const App = (props) => <FileView {...props} />
export default App
与 React Native 相同的语法
适用于现存的 React 库,例如 Redux
跨平台
原生组件,不再有 Electron
与所有正常的 Node.js 包兼容
https://segmentfault.com/a/1190000020860324
开发者技术前线 ,汇集技术前线快讯和关注行业趋势,大厂干货,是开发者经历和成长的优秀指南。
http://www.taodudu.cc/news/show-4641560.html
相关文章:
- 用gcc生成静态库和动态库和使用opencv库编写打开摄像头压缩视频
- Linux下的gcc练习及练习使用opencv库
- 9000+字,唠唠架构中的设计模式
- questionnaire-template调查问卷快速实现组件引入与使用说明
- CQJTU web学习之HTMLCSS学习总结
- 前端名词解释(持续更新)
- 分散式车辆协同:伯克利DeepDrive无人机数据集B3D
- html5 canvas实现在线生成图片后保存到服务器(数据库)
- 迅视资管 华为哈勃入股中蓝电子,持股7.83%
- 未来计算机打蜡机,瀚海狼山:利润惊人的未来行业——卫星打蜡、上油、翻新!...
- 华为和小米共推中国制造,增强国产手机产业链的自主研发实力
- 布局光刻机核心器件,华为哈勃投资入股科益虹源
- 哈勃发现史上最遥远单颗恒星 距离地球129亿光年
- 哈勃深空场以及星系合并的宇宙瑰丽景象
- 腾讯哈勃_前5名:哈勃,业力,树莓派,午夜指挥官等
- 在你生日那天,哈勃望远镜看到了什么
- 哈勃望远镜29周年礼物:美轮美奂的南方蟹状星云。
- 胖哈勃 web--NewSql Mysql 8 注入
- 勃仔诞生记:Hubbleverse哈勃元宇宙的起源故事
- 小VIVO机器人壁纸图片_vivo-智能手机官方网站
- 计算机网络哈勃,美国 NASA 努力修复哈勃太空望远镜 1980 年代的计算机故障
- 上海大厂Android面试经历:史上最通俗计算机网络分层详解,通用流行框架大全
- 尺取法小结
- 直角三角形a^2+b^2=c^2整数解的定a公式直求法
- 高斯列主元消去法——C实现
- 追赶法的matlab实现,只需要输入A和d
- python中的除法怎么表示_Python中的除法
- C++ 高精度除法运算(c=a/b)
- 数据结构之字符串匹配算法(BF算法和KMP算法)
- Abbkine BCA法 蛋白质定量试剂盒说明书
2019年,React 开发者应该掌握的 22 种神奇工具相关推荐
- 【React】485- React 大佬都在用的 22 种神奇工具
众所周知,React 是 JavaScript 库,用于构建出色的用户界面.但是,并不是每个人都在使用相同的工具或都知道所有有用的工具,这些工具有助于使 React 开发体验更有趣,更主动. 以下是 ...
- soapui工具_Java 开发者不容错过的 12 种高效工具
摘要:Java 程序员常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松.目前,市面上涌现出越来越多的高效编程工具.所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用.正在 ...
- 2019 年 React 学习路线图
作者 | javinpaul 译者 | 无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发 ...
- 2019以太坊开发者及应用峰会(北京)
2019以太坊开发者及应用峰会(北京)即将开幕! 会议时间:2019-06-29 会议地点:北京长城饭店 主办单位:CSDN.灵钛科技 票务合作伙伴:活动家 2019年是区块链发展至关重要的一年,在经 ...
- 新年到,献给从一线工程师到CTO的实用指南:《2019区块链开发者报告》
新年到,献给从一线工程师到CTO的实用指南:<2019区块链开发者报告> <区块链开发者报告>(2019年第1期,未来将以季度为周期发布)包含技术扫描.公链选择指南,以及公链与 ...
- 超燃| 2019 中国.NET 开发者峰会视频发布
首届 .NET Conf China 2019 年,注定会是 .NET Core 社区发展的关键一年,诸多重大事件在这一年发生!正如大家所期待的那样,刷新中国 .NET 社区的年度盛会--2019 中 ...
- 行云万里,转型未来 | 行云创新受邀参加2019中国.NET开发者峰会
2019 年 11 月 9 日,中国 .NET 开发者峰会(.NET Conf China 2019)在上海拉开帷幕,这是中国 .NET 社区的年度盛会.行云创新受邀参加了此次峰会,为当前最热门的科技 ...
- 2019 中国.NET 开发者峰会正式启动
2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步.2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会, ...
- 首届React开发者大会于2018年8月18日在广州举办
web前端教程 用大白话,来讲编程 由w3ctech联合前端圈举办的中国首届React开发者大会将于2018年8月18日(下周六)在广州金逸影城太阳城店举办. 目前距离大会举办的时间只有10天啦,赶紧 ...
最新文章
- 2019年终总结--满城灯火,只若初见
- 【视频课】图像分类最新内容来了(言有三录制6大理论部分讲解)
- 第十一期:30秒内便能学会的30个实用Python代码片段
- python整数序列求和_Python从菜鸟到高手(14):序列的加法和乘法
- 腾讯2013实习生笔试题+答案1-5aadaa 6-10adbcc 11-15 acacc16-20 bbddc
- 二维码登录原理及生成与解析
- 我是怎样刚拿饿了么P7 offer,然后途虎一轮游的
- Python案例:查询城市天气并绘制最高气温与最低气温折线图
- 架构与设计的流程和核心概念笔记:三、业务层设计
- 计算机发展史_最全计算机发展史
- 基于matlab的信号与系统实验,基于MATLAB的《信号与系统》实验系统
- 【 PID 算法 】PID 算法基础
- qq游戏不显示登陆服务器,QQ游戏怎么登陆? qq游戏不能登录怎么办?
- 矢量绘图软件源码定制开发,类似visio绘图,大量复合图元模板,可编程动态控制图元
- 常见排序算法原理及java实现
- 二保焊接中有送丝问题,怎么解决?
- 单车---------Eason
- Ti437x LED裸机程序全解
- jsp连接mysql购物车mvc_mvc购物车项目
- Python将py文件转换为pyd文件
热门文章
- html背景视频模糊效果,视频背景如何模糊效果 ae视频模糊效果怎么做
- iphone4国行终于来了
- python字符串如何交叉_Python-两个字符串的交集
- 云洲智能在科创板恢复IPO审核,拟募集资金15.5亿元
- EventSystems之鼠标相关事件(实现拖曳功能常用)
- 华为A1路由器虚拟服务器,华为a1路由器怎么设置端口映射规则
- 肠道重要基石菌属——普雷沃氏菌属 prevotella
- 2022.12.3 英语背诵
- 研一学习生活的总结~
- python主程序调用子程序_使用main.f90模块调用特定的.f文件运行f2py时出现问题?(未知的子程序?)...