张延森 4 年前
父节点
当前提交
133454e4b3
共有 2 个文件被更改,包括 26 次插入6 次删除
  1. 12
    6
      src/pages/ShouYe/index.jsx
  2. 14
    0
      src/utils/hooks/useUserMounted.js

+ 12
- 6
src/pages/ShouYe/index.jsx 查看文件

3
 import { Swiper, SwiperItem, Text } from '@tarojs/components'
3
 import { Swiper, SwiperItem, Text } from '@tarojs/components'
4
 import request, { apis } from '@/utils/request'
4
 import request, { apis } from '@/utils/request'
5
 import { useModel } from '@/store'
5
 import { useModel } from '@/store'
6
+import useUserMounted from '@/utils/hooks/useUserMounted'
6
 import Taro from '@tarojs/taro'
7
 import Taro from '@tarojs/taro'
7
 import Page from '@/layouts'
8
 import Page from '@/layouts'
8
 import '@/assets/css/reset.less'
9
 import '@/assets/css/reset.less'
30
   const [ActivityList, setActivityList] = useState([])
31
   const [ActivityList, setActivityList] = useState([])
31
   const [NewsList, setNewsList] = useState([])
32
   const [NewsList, setNewsList] = useState([])
32
 
33
 
33
-  useEffect(() => {
34
-    if (user) {
35
-      console.log(user, `user`)
36
-      OnRefresh()
37
-    }
38
-  }, [user])
34
+  // useEffect(() => {
35
+  //   if (user) {
36
+  //     console.log(user, `user`)
37
+  //     OnRefresh()
38
+  //   }
39
+  // }, [user])
40
+
41
+  useUserMounted(() => {
42
+    console.log(user, `user`)
43
+    OnRefresh()
44
+  })
39
 
45
 
40
   const Init = (done = () => { }) => { // 初始化
46
   const Init = (done = () => { }) => { // 初始化
41
     let DownCount = 0
47
     let DownCount = 0

+ 14
- 0
src/utils/hooks/useUserMounted.js 查看文件

1
+import React, { useRef, useEffect } from 'react'
2
+import { useModel } from '@/store'
3
+
4
+export default function useUserMounted(callback) {
5
+  const mounted = useRef(false)
6
+  const { user } = useModel('user')
7
+
8
+  useEffect(() => {
9
+    if (user && !mounted.current) {
10
+      mounted.current = true
11
+      callback()
12
+    }
13
+  }, [user])
14
+}