如何打包我的React挂钩效果供其他人重复使用?

时间:2018-11-19 09:14:25

标签: javascript reactjs react-hooks

我想为react挂钩创建几个开源的React效果。例如,一种检查并更新用户令牌余额的效果。

问题是:如何打包effect并创建一个模块,以便其他人容易使用?他们将如何导入和使用效果?

有什么最佳实践吗?

1 个答案:

答案 0 :(得分:2)

您的钩子必须使用“低级” hooks provided by react构建。不过,想出一个可重用/通用的身份验证钩子可能是一个挑战。

import {useState, useEffect} from 'react'
const useAuthentication = () => {
  const [user] = useState({}) // maybe shape of user.name, user.avatar, user.email ?
  useEffect(() => {
    // whatever
  })
  ...
  const login = ...
  const logout = ...
  return [user, login, logout]
}
export default useAuthentication


// a user of this hook
import useAuthentication from 'my-published-authentication-hook'
const Header = () => {
  [user, login, logout] = useAuthentication()
  return (
    // whatever login/logout button, user name, etc
  )
}