UNPKG

@szmg-fe/tarco

Version:

function library in Taro

35 lines (31 loc) 978 B
import { useState } from "react"; import useRefCallback from "@szmg-fe/hooks/useRefCallback"; import prop from "@szmg-fe/funba/prop"; import { compose } from "@szmg-fe/funba/ramda"; import fork from "@szmg-fe/funba/fork"; import getUserProfile from "./getUserProfile"; interface UserInfo { avatar: string nickName: string; nickname?: string; id?: number | string } export default function useWxUserInfo<T>() { const [data, setUserData] = useState<T>({} as T); // 获取用户信息 const getUserInfo = useRefCallback(() => { const middle = i => ({ ...i, avatar: i.avatarUrl, } as UserInfo) const setUserInfo = compose(setUserData, middle, prop('userInfo')); const getProfile = compose(fork(i => { console.log(i) }, setUserInfo), getUserProfile('用户信息仅用于应用内所需')); getProfile(); }); return { getUserInfo, data } }