Hooks实践总结

Hooks在应用中的实践

如何定义个Function Component

interface Props {
  title: string;
}
const App: React.FC<Props> = ({ title }) => {
  return React.useMemo(() => <div>{title}</div>, [title]);
};

App.defaultProps = {
  title: ''
}

处理状态

  1. useState(推荐)
  2. useRef(不提倡使用)
  3. useReducer(未使用)

useState

  1. 建议将多个相同逻辑需要的状态封装成对象统一管理
  2. react-use(useMap, useSetState)
const [fetchParams, setFetchParams] = useState({pageIndex: 1, keywords: '', pageSize: 5})

useRef

  1. 由于Hooks中每次状态的变化都会刷新,所以无法在函数中保留临时变量,使用useRef可以
  2. useRef会将保留状态直到函数组件被销毁掉
  3. useRef改变时不能触发组件更新
  4. 不建议使用useRef

useReducer

  1. 局部状态无需使用
  2. 全局状态可以配合useContext一起使用
  3. 全局状态可以参考react-reudx

副作用

  1. useEffect
  2. react-use(useAsync, useAsyncFn)

自定义Hooks

  1. 可以参考react-use中hooks的写法
  2. 根据自身业务分装逻辑
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接:https://www.v2ex.com/t/570176#reply10 React Hooks 是什...
    勿忘巛心安阅读 1,410评论 0 3
  • 在学会使用React Hooks之前,可以先看一下相关原理学习React Hooks 前言 在 React 的世界...
    DC_er阅读 9,136评论 1 16
  • 摘要: React Hooks原理解析。 原文:快速了解 React Hooks 原理 译者:前端小智 我们大部分...
    Fundebug阅读 1,089评论 0 2
  • Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他...
    Oldboyyyy阅读 4,856评论 0 3
  • 早上起的不早,做饭,吃饭,基本上没有学习的时间,订阅的很多栏目也没有时间看了,股市开盘再看一会儿,这样时间很快就没...
    我的真谛阅读 184评论 0 0