react自用小技巧(持续更新中)

react自用小技巧(持续更新中)

作者:devwolf

导言:

笔者应届时,投vue2就任一家大食品厂的资讯部后转成了react,写了一年出头的react类组件。然后跳槽到苏州科技城的一个原做影视渲染的公司开始全面转hooks,又写了两年多。再后来去一家智仓写irms羲和调度,react类组件和hooks混用干了5个月。某些在笔者v2ex上公开过的原因,笔者又跳回了互联网赛道,观摩着如今vue岗在国内趋于主流,打算“弃暗投明”转vue岗(也看到了vue3那些很多针对react痛点的新语法糖)。可惜,笔者的事业运一如既往的差,如今在一家给政府做房地产相关的公司里用vue2维护老项目纯体力活。

不想完全落下react的相关手艺,下一跳还选react,现在重新拾起来看看官网和自己随便搓搓东西。

目前这篇连载用于记录笔者react开发期间遇到的一些封装技巧/野路子。

同步记录于笔者的github devwolf

1.封装一个自带了ui组件的类自定义hooks

用react官网的例子改造一下,比较像自定义hooks,但是不完全是。闭包中提供了一个ui组件以及这个ui组件的修改方法,以此来进行外部的额外干预

import { useState } from 'react';

export default function MyApp() {
  const {MyButtonUI:MyButtonUI1,handleClick:handleClick1}  = MyButton()
  const {MyButtonUI:MyButtonUI2,handleClick:handleClick2}  = MyButton()
  return (
    <div>
      <h1>Counters that update separately</h1>
      <button onClick={()=>{
          handleClick1()
          handleClick2()
      }}>all</button>
      <MyButtonUI1 />
      <MyButtonUI2 />
    </div>
  );
}

function MyButton() {
  const [count, setCount] = useState(0);

  function handleClick() {
    setCount(count + 1);
  }
  const MyButtonUI=()=>{
    return <button onClick={handleClick}>
      Clicked {count} times
    </button>
  }
  return {
    MyButtonUI,
    handleClick
  };
}
React开发,有一些小技巧可以帮助提高开发效率和代码质量。以下是一些常用的React开发小技巧: 1. 使用函数组件代替类组件:函数组件具有更简洁的语法和更好的性能,在不需要使用生命周期方法和状态管理的情况下,优先考虑使用函数组件来编写代码。 2. 使用React Fragments来包裹组件:React Fragments可以帮助我们避免多余的DOM节点,提高代码的可读性和性能。 3. 使用解构赋值来获取props:使用解构赋值可以更方便地获取和使用props,使代码更简洁。 4. 使用箭头函数来定义组件方法:箭头函数可以解决绑定this的问题,使代码更简洁易读。 5. 使用条件渲染来控制组件显示:使用条件渲染可以根据不同的条件来显示不同的组件或内容,提高代码的灵活性和可复用性。 6. 使用ES6的模板字符串来拼接字符串:使用模板字符串可以更方便地拼接字符串,避免繁琐的字符串拼接操作。 7. 使用PropTypes或TypeScript来进行类型检查:使用PropTypes或TypeScript可以帮助我们在开发过程及时发现潜在的类型错误,提高代码的健壮性和可维护性。 8. 使用React DevTools进行调试:React DevTools是一个强大的调试工具,可以帮助我们分析组件的渲染过程、性能优化和状态管理等问题。 这些小技巧可以使React开发更加高效和优雅。但需要根据具体的项目需求和个人经验选择合适的技巧来应用。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [React 开发必须知道的 34个技巧](https://blog.csdn.net/sinat_17775997/article/details/117035521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

devwolf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值