taro-docs.jd.com/taro/docs/r… taro react文档
react.docschina.org/docs/hooks-… react hook文档
reactjs.bootcss.com/docs/hooks-… hook API文档
Taro 专有
import{usePageScroll,useReachBottom}from'@tarojs/taro'Hooks
复制代码
基础 Hooks
import{useState,useEffect}from'react'
复制代码
useReducer
useState 的替代方案。它接收一个形如 (state, action) => newState 的 reducer,并返回当前的 state 以及与其配套的 dispatch 方法。(如果你熟悉 Redux 的话,就已经知道它如何工作了。)
在某些场景下,useReducer 会比 useState 更适用,例如 state 逻辑较复杂且包含多个子值,或者下一个 state 依赖于之前的 state 等。并且,使用 useReducer 还能给那些会触发深更新的组件做性能优化,因为你可以向子组件传递 dispatch 而不是回调函数 。
useCallback(fn, deps) 相当于 useMemo(() => fn, deps)。
useRef
const refContainer=useRef(initialValue)
复制代码
useRef 返回一个可变的 ref 对象,其 .current 属性被初始化为传入的参数(initialValue)。返回的 ref 对象在组件的整个生命周期内保持不变。
useContext
const value=useContext(MyContext)
复制代码
接收一个 context (Taro.createContext 的返回值)并返回该 context 的当前值。当前的 context 值由上层组件中最先渲染的 的 value决定。
当组件上层最近的 更新时,该 Hook 会触发重渲染,并使用最新传递给 MyContext provider 的 context value 值。
useDidShow
useDidShow(()=>{
console.log('componentDidShow')
})
复制代码
useDidShow 是 Taro 专有的 Hook,等同于 componentDidShow 页面生命周期钩子
useDidHide
等同于 componentDidHide 页面生命周期钩子
usePullDownRefresh
Taro 专有的 Hook,等同于 onPullDownRefresh 页面生命周期钩子
useReachBottom
Taro 专有的 Hook,等同于 onReachBottom 页面生命周期钩子
usePageScroll
Taro 专有的 Hook,等同于 onPageScroll 页面生命周期钩子
useResize
Taro 专有的 Hook,等同于 onResize 页面生命周期钩子
useShareAppMessage
Taro 3.0.3 开始,使用此 Hook 时必须为页面配置 enableShareAppMessage: true
useShareAppMessage
Taro 专有的 Hook,等同于 onShareAppMessage 页面生命周期钩子
useTabItemTap
Taro 专有的 Hook,等同于 onTabItemTap 页面生命周期钩子
useAddToFavorites
Taro 3.0.3 开始支持 只有微信小程序支持,本接口为 Beta 版本,安卓 7.0.15 版本起支持,暂只在安卓平台支持
useAddToFavorites
Taro 专有的 Hook,等同于 onAddToFavorites 页面生命周期钩子
useShareTimeline
只有微信小程序支持,基础库 2.11.3 开始支持,本接口为 Beta 版本,暂只在 Android 平台支持 使用时,必须为页面配置 enableShareTimeline: true 等同于 onShareTimeline 页面生命周期钩子
useReady
Taro 专有的 Hook,等同于页面的 onReady 生命周期钩子。