useParams.js 760B

123456789101112131415161718192021222324
  1. /**
  2. * 用来构造分享的参数, 比如分享,海报等等
  3. */
  4. import { useRef, useMemo } from 'react'
  5. import { ROLE_CODE } from '@/constants/user'
  6. export default function useParams({id, buildingId, person, from}) {
  7. // 判断当前人员是否置业顾问
  8. const consultant = person.personType === ROLE_CODE.CONSULTANT ? { id: person.personId } : {}
  9. const paramsRef = useRef()
  10. paramsRef.current = useMemo(() => {
  11. return [
  12. `id=${id}`,
  13. `from=${from}`,
  14. `recommender=${person.personId}`,
  15. buildingId ? `buildingId=${buildingId}` : undefined,
  16. consultant.id ? `consultant=${consultant.id}` : undefined,
  17. ].filter(Boolean).join('&')
  18. }, [id, buildingId, from, person.personId, consultant.id])
  19. return paramsRef
  20. }