我想为react挂钩创建几个开源的React效果。例如,一种检查并更新用户令牌余额的效果。
问题是:如何打包effect
并创建一个模块,以便其他人容易使用?他们将如何导入和使用效果?
有什么最佳实践吗?
答案 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
)
}