parsec-hooks 1.0.8 → 1.0.12

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.
@@ -1,5 +1,4 @@
1
- import { Dispatch, SetStateAction } from 'react';
2
- declare const _default: <D extends unknown>(name: string, initState?: D) => [D, Dispatch<SetStateAction<D>>];
1
+ declare const _default: <D extends unknown>(name: string, initState?: D) => [D, (state: D) => void];
3
2
  /**
4
3
  * 在每个需要的地方使用传入,得到一个全局的状态,如:
5
4
  * const globalLoading = useGlobalState('globalLoading')
@@ -11,7 +11,6 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = require("react");
13
13
 
14
- var useCount = 0;
15
14
  var globalObj = {};
16
15
  /**
17
16
  * 在每个需要的地方使用传入,得到一个全局的状态,如:
@@ -19,32 +18,30 @@ var globalObj = {};
19
18
  */
20
19
 
21
20
  var _default = function _default(name, initState) {
22
- var count = (0, _react.useRef)(useCount++);
21
+ var _globalObj$name;
23
22
 
24
- var _useState = (0, _react.useState)(initState),
23
+ var _useState = (0, _react.useState)(((_globalObj$name = globalObj[name]) === null || _globalObj$name === void 0 ? void 0 : _globalObj$name.state) || initState),
25
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
26
25
  globalState = _useState2[0],
27
26
  setGlobalState = _useState2[1];
28
27
 
29
28
  if (!globalObj[name]) {
30
- globalObj[name] = {};
29
+ globalObj[name] = {
30
+ state: globalState,
31
+ sets: []
32
+ };
31
33
  }
32
34
 
33
- if (!globalObj[name][count.current]) {
34
- globalObj[name][count.current] = {};
35
- }
36
-
37
- var current = globalObj[name][count.current];
38
- (0, _react.useEffect)(function () {
39
- current.setGlobalState = setGlobalState;
40
- current.globalState = globalState;
41
- Object.values(globalObj[name]).forEach(function (item) {
42
- if (item.globalState !== current.globalState) {
43
- item.setGlobalState(current.globalState);
44
- }
35
+ (0, _react.useLayoutEffect)(function () {
36
+ globalObj[name].sets.push(setGlobalState);
37
+ }, [name]);
38
+ return [globalState, function (state) {
39
+ globalObj[name].state = state;
40
+ setGlobalState(state);
41
+ globalObj[name].sets.forEach(function (fn) {
42
+ return fn(state);
45
43
  });
46
- }, [current, globalState, name]);
47
- return [globalState, setGlobalState];
44
+ }];
48
45
  };
49
46
 
50
47
  exports.default = _default;
@@ -5,14 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _wechat = require("remax-rn/src/wechat");
9
-
10
8
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
9
  // @ts-ignore
12
- var _default = function _default(pageName) {
13
- (0, _wechat.setNavigationBarTitle)({
14
- title: pageName
15
- });
10
+ // import { setNavigationBarTitle } from 'remax-rn/src/wechat';
11
+ var _default = function _default(pageName) {// setNavigationBarTitle({ title: pageName });
16
12
  };
17
13
 
18
14
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parsec-hooks",
3
- "version": "1.0.8",
3
+ "version": "1.0.12",
4
4
  "description": "秒差距前端常用的hooks工具",
5
5
  "author": "mushan0x0",
6
6
  "license": "MIT",