parsec-hooks 0.0.161 → 0.0.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,7 @@ export interface LoadMoreOptions {
17
17
  */
18
18
  customSetLoading?: (loading: boolean) => void;
19
19
  }
20
- export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, defaultPage, needGet, cacheKey, customSetLoading, loadMoreVisible }: LoadMoreOptions): {
20
+ export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, defaultPage, needGet, cacheKey, loadMoreVisible }: LoadMoreOptions): {
21
21
  error: any;
22
22
  dataRef: {
23
23
  current: {
@@ -28,7 +28,6 @@ export default function <D>(getListFn: LoadMoreGetListFn<D>, { defaultLimit, def
28
28
  };
29
29
  loading: boolean;
30
30
  refreshList: (retainList?: boolean) => Promise<void>;
31
- getNext: (callback?: () => void) => void;
32
31
  isEnd: boolean;
33
32
  page: number;
34
33
  limit: number;
@@ -15,14 +15,14 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
15
15
 
16
16
  var _react = require("react");
17
17
 
18
- var _stateRefHooks = _interopRequireDefault(require("../stateRefHooks"));
19
-
20
18
  var _promiseHooks = _interopRequireDefault(require("../promiseHooks"));
21
19
 
22
20
  var _cacheStateHooks = _interopRequireDefault(require("../cacheStateHooks"));
23
21
 
24
22
  var _refStateHooks = _interopRequireDefault(require("../refStateHooks"));
25
23
 
24
+ var _previousHooks = _interopRequireDefault(require("../previousHooks"));
25
+
26
26
  function _default(getListFn, _ref) {
27
27
  var _ref$defaultLimit = _ref.defaultLimit,
28
28
  defaultLimit = _ref$defaultLimit === void 0 ? 10 : _ref$defaultLimit,
@@ -32,7 +32,6 @@ function _default(getListFn, _ref) {
32
32
  needGet = _ref$needGet === void 0 ? true : _ref$needGet,
33
33
  _ref$cacheKey = _ref.cacheKey,
34
34
  cacheKey = _ref$cacheKey === void 0 ? '' : _ref$cacheKey,
35
- customSetLoading = _ref.customSetLoading,
36
35
  loadMoreVisible = _ref.loadMoreVisible;
37
36
 
38
37
  var _useCacheState = (0, _cacheStateHooks.default)(getListFn.toString() + cacheKey, (0, _react.useMemo)(function () {
@@ -68,6 +67,7 @@ function _default(getListFn, _ref) {
68
67
 
69
68
  var loadingRef = (0, _react.useRef)(false);
70
69
  var countRef = (0, _react.useRef)(0);
70
+ var preVisible = (0, _previousHooks.default)(loadMoreVisible);
71
71
 
72
72
  var _usePromise = (0, _promiseHooks.default)((0, _react.useCallback)(function (retainList) {
73
73
  var _dataRef$current = dataRef.current,
@@ -101,11 +101,7 @@ function _default(getListFn, _ref) {
101
101
  return Promise.reject();
102
102
  }
103
103
  });
104
- }, [dataRef, defaultLimit, defaultPage, getListFn, setData]), {
105
- customSetLoading: customSetLoading ? (0, _react.useCallback)(function (loading) {
106
- loadingRef.current = loading;
107
- customSetLoading(loading);
108
- }, [customSetLoading]) : undefined,
104
+ }, [dataRef, defaultLimit, defaultPage, getListFn, setData, setIsEnd]), {
109
105
  needInit: false
110
106
  }),
111
107
  handleGetList = _usePromise.handle,
@@ -127,18 +123,18 @@ function _default(getListFn, _ref) {
127
123
 
128
124
  return handleGetList(retainList);
129
125
  }, [handleGetList, initData, needGet, setData]);
130
- var visibleRef = (0, _stateRefHooks.default)(loadMoreVisible);
131
126
  var getNext = (0, _react.useCallback)(function (callback) {
132
127
  if (!isEndRef.current && !loadingRef.current && needGet) {
133
128
  handleGetList().then(callback);
134
129
  }
135
130
  }, [handleGetList, isEndRef, loadingRef, needGet]);
131
+ var preVisibleRef = (0, _react.useRef)(preVisible);
136
132
  (0, _react.useEffect)(function () {
137
133
  if (needGet) {
138
134
  // 当handleGetList发生变化清空数据
139
135
  refreshList().then(function () {
140
136
  var fn = function fn() {
141
- if (visibleRef.current) {
137
+ if (preVisibleRef.current) {
142
138
  getNext(fn);
143
139
  }
144
140
  };
@@ -146,18 +142,17 @@ function _default(getListFn, _ref) {
146
142
  fn();
147
143
  });
148
144
  }
149
- }, [refreshList, handleGetList, needGet, visibleRef, getNext]);
145
+ }, [refreshList, handleGetList, needGet, preVisibleRef, getNext]);
150
146
  (0, _react.useEffect)(function () {
151
- if (loadMoreVisible) {
147
+ if (loadMoreVisible && preVisible !== loadMoreVisible) {
152
148
  getNext();
153
149
  }
154
- }, [getNext, loadMoreVisible]);
150
+ }, [getNext, loadMoreVisible, preVisible]);
155
151
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, data), {}, {
156
152
  error: error,
157
153
  dataRef: dataRef,
158
154
  loading: loading,
159
155
  refreshList: refreshList,
160
- getNext: getNext,
161
156
  isEnd: (0, _react.useMemo)(function () {
162
157
  return isEnd || !data.list.length;
163
158
  }, [isEnd, data])
@@ -11,7 +11,6 @@ declare const _default: <D extends unknown>(getList: LoadMoreGetListFn<D>, optio
11
11
  };
12
12
  loading: boolean;
13
13
  refreshList: (retainList?: boolean) => Promise<void>;
14
- getNext: (callback?: () => void) => void;
15
14
  isEnd: boolean;
16
15
  page: number;
17
16
  limit: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parsec-hooks",
3
- "version": "0.0.161",
3
+ "version": "0.0.162",
4
4
  "description": "秒差距前端常用的hooks工具",
5
5
  "author": "mushan0x0",
6
6
  "license": "MIT",