@szmg-fe/tarco
Version:
function library in Taro
35 lines (31 loc) • 978 B
text/typescript
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
}
}