javascript - 如何打包我的 React hook 效果供其他人重复使用?

标签 javascript reactjs react-hooks

我想为 react Hook 创建几个开源 react 效果。例如,检查和更新用户代币余额的效果。

问题是:如何将effect打包,创建模块,方便别人使用?他们将如何导入和使用效果?

有什么最佳实践吗?

最佳答案

您的钩子(Hook)必须使用“低级别”构建 hooks provided by react .不过,提出可重用/通用身份验证 Hook 可能具有挑战性。

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
  )
}

关于javascript - 如何打包我的 React hook 效果供其他人重复使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53371430/

相关文章:

javascript - shouldComponentUpdate 等效于功能组件,以忽略状态更改

javascript - React - 在不使用 setState 的情况下更改状态 : Must avoid it?

reactjs - 使用 useCallback 记住切换函数是否有意义?

Javascript 图片大小检查(字节)

javascript - 调用 .apply() 后如何保留原始函数的 this 上下文?

javascript - 在每个 gatsby 页面中包含 stripe.js 脚本的最佳方式

javascript - 为什么当我解构属性时接收 props 的组件不工作,但当我使用 props.key 时它工作?

javascript - 无法在 React Material-UI 的 useState 中设置值

javascript - 将 v-model 与数组一起使用时,从 vue.js 收到无法读取未定义属性的错误

javascript - Javascript 中的 HTML5 拖放事件