加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

2019 年,React 开拓职员应该行使的 22 个神奇器材

发布时间:2019-10-30 01:29:34 所属栏目:建站 来源:JAVA柯尼塞克丶
导读:正如我们所知, React 是 JavaScript 库,用于构建出色的用户界面。然而,并不是每小我私人都在行使沟通的器材或知道有这么一些精彩的器材,可以让 Reacat 开拓体验变得越发风趣和起劲主动。 假如各人还没有效过 React,可能各人的伴侣也许有乐趣行使它,那么

我们傍边有些人也许不知道怎样用 CRA 来建设一个 TypeScript 项目。我们要做的就是在末端加上 typescript:

  1. npx create-react-app — typescript 

这会帮我们省去给 CRA 项目手工添加 TypeScript 的贫困。

5. React Lifecycle Visualizer

React Lifecycle Visualizer 是一个 npm 包,用于跟踪和可视化恣意 React 组件的生命周期方法。

与 Why Did You Render 相同,我们可以启用我们选择的任何组件来表现生命周期可视化器:

  1. importReactfrom'react' 
  2. import{ 
  3. Log, 
  4. VisualizerProvider, 
  5. traceLifecycle, 
  6. }from'react-lifecycle-visualizer' 
  7. classTracedComponentextendsReact.Component{ 
  8. state = { 
  9. loaded:false, 
  10. componentDidMount() { 
  11. this.props.onMount() 
  12. render() { 
  13. return<h2>Traced Component</h2> 
  14. constEnhancedTracedComponent = traceLifecycle(TracedComponent) 
  15. constApp =()=>( 
  16. <VisualizerProvider> 
  17. <EnhancedTracedComponent/> 
  18. <Log/> 
  19. </VisualizerProvider> 
Traced Component

}}constEnhancedTracedComponent = traceLifecycle(TracedComponent)constApp =()=>()

这将泛起可视化器,所示如下:

2019 年,React 开拓职员应该行使的 22 个神奇器材

然而,这有个弱点,今朝只能用于类组件,因此还不支持 Hooks。(题目是,它们可以或许做到吗?由于这跟生命周期有关。)

6. Guppy

Guppy 是一个友爱且免费的 React 应用措施打点器和使命运行器,可以在桌面上运行。

它们好像优先思量那些 React 的开拓新手。可是,对付高级开拓职员也也许是有效的。

它提供了一种友爱的图形化用户界面,用于 React 开拓职员常常面临的许多典范使命,如:建设一个新项目、执利用命和打点依靠项。2018 年 8 月添加了对 Windows 的支持,因此,可以必定它是跨平台的。以下是 Guppy 看起来的样子:

2019 年,React 开拓职员应该行使的 22 个神奇器材

7. react-testing-library

在编写单位测试时, react-testing-library 用起来感受很好,因此,我一向喜好用它。这个包提供了 React DOM 测试适用措施,勉励精采的测试实践。

该办理方案旨在办理测试实验细节的题目,就像用户可以看到它们一样,而不是测试 React 组件的输入 / 输出。

测试实验细节并不是确保应用措施按预期事变的有用要领。

虽然,对我们怎样获取组件必要的数据、行使某种要领等等,我们可以或许更有信念。可是,假如我们必需改变我们的实现要领,以指向差异的数据库,那么,单位测试就会失败,由于它们是耦合逻辑的实现细节。

这是 react-testing-library 办理的一个题目,由于,抱负环境下,我们只但愿我们的用户接口界面可以或许正常事变,最终可以正确地泛起。

我们如作甚这些组件获取数据真的无关紧急,只要它们如故提供预期的输出即可。

以下是我们怎样行使该库来举办测试的 示例代码 :

  1. // Hoist helper functions (but not vars) to reuse between test cases 
  2. constrenderComponent =({ count }) => 
  3. render( 
  4. <StateMockstate={{count}}> 
  5. <StatefulCounter/> 
  6. </StateMock>, 
  7. it('renders initial count',async() => { 
  8. // Render new instance in every test to prevent leaking state 
  9. const{ getByText } = renderComponent({count:5}) 
  10. awaitwaitForElement(()=>getByText(/clicked 5 times/i)) 
  11. }) 
  12. it('increments count',async() => { 
  13. // Render new instance in every test to prevent leaking state 
  14. const{ getByText } = renderComponent({count:5}) 
  15. fireEvent.click(getByText('+1')) 
  16. awaitwaitForElement(()=>getByText(/clicked 6 times/i)) 
  17. }) 

8. React Developer Tools

React Developer Tools 是一个扩展,它应承在 Chrome 和 Firefox Developer Tools 中查察 React 的组件条理布局。

这是在本列表中最常见的扩展,并如故是 React 开拓职员可以或许用于调试应用措施的最有辅佐的器材之一。

9. Bit

在行使组件库(如 Material-UI 或 Semantic UI React )时, Bit 是一个很好的更换要领。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读