@next-core/react-runtime 1.7.47 → 1.8.0
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.
- package/dist/cjs/index.js +66 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/useAuth.js +30 -0
- package/dist/cjs/useAuth.js.map +1 -0
- package/dist/cjs/useHistory.js +28 -0
- package/dist/cjs/useHistory.js.map +1 -0
- package/dist/cjs/useLocation.js +34 -0
- package/dist/cjs/useLocation.js.map +1 -0
- package/dist/cjs/useParams.js +57 -0
- package/dist/cjs/useParams.js.map +1 -0
- package/dist/cjs/usePathParams.js +60 -0
- package/dist/cjs/usePathParams.js.map +1 -0
- package/dist/cjs/useSearchParams.js +34 -0
- package/dist/cjs/useSearchParams.js.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/useAuth.js +23 -0
- package/dist/esm/useAuth.js.map +1 -0
- package/dist/esm/useHistory.js +23 -0
- package/dist/esm/useHistory.js.map +1 -0
- package/dist/esm/useLocation.js +28 -0
- package/dist/esm/useLocation.js.map +1 -0
- package/dist/esm/useParams.js +51 -0
- package/dist/esm/useParams.js.map +1 -0
- package/dist/esm/usePathParams.js +54 -0
- package/dist/esm/usePathParams.js.map +1 -0
- package/dist/esm/useSearchParams.js +28 -0
- package/dist/esm/useSearchParams.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/useAuth.d.ts +20 -0
- package/dist/types/useHistory.d.ts +19 -0
- package/dist/types/useLocation.d.ts +16 -0
- package/dist/types/useParams.d.ts +24 -0
- package/dist/types/usePathParams.d.ts +21 -0
- package/dist/types/useSearchParams.d.ts +15 -0
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -102,4 +102,70 @@ Object.keys(_useLazyWrapBrick).forEach(function (key) {
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
|
+
var _usePathParams = require("./usePathParams.js");
|
|
106
|
+
Object.keys(_usePathParams).forEach(function (key) {
|
|
107
|
+
if (key === "default" || key === "__esModule") return;
|
|
108
|
+
if (key in exports && exports[key] === _usePathParams[key]) return;
|
|
109
|
+
Object.defineProperty(exports, key, {
|
|
110
|
+
enumerable: true,
|
|
111
|
+
get: function () {
|
|
112
|
+
return _usePathParams[key];
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
var _useSearchParams = require("./useSearchParams.js");
|
|
117
|
+
Object.keys(_useSearchParams).forEach(function (key) {
|
|
118
|
+
if (key === "default" || key === "__esModule") return;
|
|
119
|
+
if (key in exports && exports[key] === _useSearchParams[key]) return;
|
|
120
|
+
Object.defineProperty(exports, key, {
|
|
121
|
+
enumerable: true,
|
|
122
|
+
get: function () {
|
|
123
|
+
return _useSearchParams[key];
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
var _useParams = require("./useParams.js");
|
|
128
|
+
Object.keys(_useParams).forEach(function (key) {
|
|
129
|
+
if (key === "default" || key === "__esModule") return;
|
|
130
|
+
if (key in exports && exports[key] === _useParams[key]) return;
|
|
131
|
+
Object.defineProperty(exports, key, {
|
|
132
|
+
enumerable: true,
|
|
133
|
+
get: function () {
|
|
134
|
+
return _useParams[key];
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
var _useHistory = require("./useHistory.js");
|
|
139
|
+
Object.keys(_useHistory).forEach(function (key) {
|
|
140
|
+
if (key === "default" || key === "__esModule") return;
|
|
141
|
+
if (key in exports && exports[key] === _useHistory[key]) return;
|
|
142
|
+
Object.defineProperty(exports, key, {
|
|
143
|
+
enumerable: true,
|
|
144
|
+
get: function () {
|
|
145
|
+
return _useHistory[key];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
var _useAuth = require("./useAuth.js");
|
|
150
|
+
Object.keys(_useAuth).forEach(function (key) {
|
|
151
|
+
if (key === "default" || key === "__esModule") return;
|
|
152
|
+
if (key in exports && exports[key] === _useAuth[key]) return;
|
|
153
|
+
Object.defineProperty(exports, key, {
|
|
154
|
+
enumerable: true,
|
|
155
|
+
get: function () {
|
|
156
|
+
return _useAuth[key];
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
});
|
|
160
|
+
var _useLocation = require("./useLocation.js");
|
|
161
|
+
Object.keys(_useLocation).forEach(function (key) {
|
|
162
|
+
if (key === "default" || key === "__esModule") return;
|
|
163
|
+
if (key in exports && exports[key] === _useLocation[key]) return;
|
|
164
|
+
Object.defineProperty(exports, key, {
|
|
165
|
+
enumerable: true,
|
|
166
|
+
get: function () {
|
|
167
|
+
return _useLocation[key];
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
});
|
|
105
171
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\n"],"mappings":";;;;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,gBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,gBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,gBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,gBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,cAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,cAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,cAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,cAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,eAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,eAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,eAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,eAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,YAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,YAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,YAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,YAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,eAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,eAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,eAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,eAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,aAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,aAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,aAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,aAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,iBAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,iBAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,iBAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,iBAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_ReactUseBrick","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useCurrentTheme","_useCurrentApp","_useRecentApps","_useRouteRender","_useProvider","_asyncWrapBrick","_useNavConfig","_useLazyWrapBrick","_usePathParams","_useSearchParams","_useParams","_useHistory","_useAuth","_useLocation"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useAuth = useAuth;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _easyopsRuntime = require("@next-core/easyops-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* 获取用户认证信息的 React hooks。
|
|
12
|
+
*
|
|
13
|
+
* **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,
|
|
14
|
+
* 避免不必要的组件重渲染。认证信息在会话期间保持不变。
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
*
|
|
18
|
+
* ```tsx
|
|
19
|
+
* function MyReactComponent() {
|
|
20
|
+
* const authInfo = useAuth();
|
|
21
|
+
* return <div>Username: {authInfo.username}</div>;
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @returns 当前用户的认证信息对象。
|
|
26
|
+
*/
|
|
27
|
+
function useAuth() {
|
|
28
|
+
return _react.default.useMemo(() => _easyopsRuntime.auth.getAuth(), []);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=useAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuth.js","names":["_react","_interopRequireDefault","require","_easyopsRuntime","useAuth","React","useMemo","auth","getAuth"],"sources":["../../src/useAuth.ts"],"sourcesContent":["import React from \"react\";\nimport { auth } from \"@next-core/easyops-runtime\";\n\nexport type AuthInfo = ReturnType<typeof auth.getAuth>;\n\n/**\n * 获取用户认证信息的 React hooks。\n *\n * **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,\n * 避免不必要的组件重渲染。认证信息在会话期间保持不变。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const authInfo = useAuth();\n * return <div>Username: {authInfo.username}</div>;\n * }\n * ```\n *\n * @returns 当前用户的认证信息对象。\n */\nexport function useAuth(): AuthInfo {\n return React.useMemo(() => auth.getAuth(), []);\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,OAAOA,CAAA,EAAa;EAClC,OAAOC,cAAK,CAACC,OAAO,CAAC,MAAMC,oBAAI,CAACC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;AAChD","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useHistory = useHistory;
|
|
7
|
+
var _runtime = require("@next-core/runtime");
|
|
8
|
+
/**
|
|
9
|
+
* 获取 history 对象的 React hooks。
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* ```tsx
|
|
14
|
+
* function MyReactComponent() {
|
|
15
|
+
* const history = useHistory();
|
|
16
|
+
* const handleClick = () => {
|
|
17
|
+
* history.push('/new-page');
|
|
18
|
+
* };
|
|
19
|
+
* return <button onClick={handleClick}>Navigate</button>;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @returns history 对象,用于路由导航。
|
|
24
|
+
*/
|
|
25
|
+
function useHistory() {
|
|
26
|
+
return (0, _runtime.getHistory)();
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHistory.js","names":["_runtime","require","useHistory","getHistory"],"sources":["../../src/useHistory.ts"],"sourcesContent":["import { getHistory, type NextHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 history 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const history = useHistory();\n * const handleClick = () => {\n * history.push('/new-page');\n * };\n * return <button onClick={handleClick}>Navigate</button>;\n * }\n * ```\n *\n * @returns history 对象,用于路由导航。\n */\nexport function useHistory(): NextHistory {\n return getHistory();\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAAA,EAAgB;EACxC,OAAO,IAAAC,mBAAU,EAAC,CAAC;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useLocation = useLocation;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _runtime = require("@next-core/runtime");
|
|
10
|
+
/**
|
|
11
|
+
* 获取当前路由 location 对象的 React hooks。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* ```tsx
|
|
16
|
+
* function MyReactComponent() {
|
|
17
|
+
* const location = useLocation();
|
|
18
|
+
* return <div>Current path: {location.pathname}</div>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @returns 当前路由的 location 对象。
|
|
23
|
+
*/
|
|
24
|
+
function useLocation() {
|
|
25
|
+
const [location, setLocation] = _react.default.useState(() => (0, _runtime.getHistory)().location);
|
|
26
|
+
_react.default.useEffect(() => {
|
|
27
|
+
const unlisten = (0, _runtime.getHistory)().listen(newLocation => {
|
|
28
|
+
setLocation(newLocation);
|
|
29
|
+
});
|
|
30
|
+
return unlisten;
|
|
31
|
+
}, []);
|
|
32
|
+
return location;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocation.js","names":["_react","_interopRequireDefault","require","_runtime","useLocation","location","setLocation","React","useState","getHistory","useEffect","unlisten","listen","newLocation"],"sources":["../../src/useLocation.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory, type NextLocation } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由 location 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const location = useLocation();\n * return <div>Current path: {location.pathname}</div>;\n * }\n * ```\n *\n * @returns 当前路由的 location 对象。\n */\nexport function useLocation(): NextLocation {\n const [location, setLocation] = React.useState<NextLocation>(\n () => getHistory().location\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((newLocation) => {\n setLocation(newLocation);\n });\n return unlisten;\n }, []);\n\n return location;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,WAAWA,CAAA,EAAiB;EAC1C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAC5C,MAAM,IAAAC,mBAAU,EAAC,CAAC,CAACJ,QACrB,CAAC;EAEDE,cAAK,CAACG,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG,IAAAF,mBAAU,EAAC,CAAC,CAACG,MAAM,CAAEC,WAAW,IAAK;MACpDP,WAAW,CAACO,WAAW,CAAC;IAC1B,CAAC,CAAC;IACF,OAAOF,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAON,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useParams = useParams;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _runtime = require("@next-core/runtime");
|
|
10
|
+
/**
|
|
11
|
+
* 获取 URL query 参数的 React hooks,返回普通对象。
|
|
12
|
+
*
|
|
13
|
+
* 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,
|
|
14
|
+
* 而不是 URLSearchParams 实例,使用更方便。
|
|
15
|
+
*
|
|
16
|
+
* **注意**:
|
|
17
|
+
* - 重复的参数只会保留最后一个值
|
|
18
|
+
* - 所有值都是字符串类型
|
|
19
|
+
* - 参数值会自动进行 URL 解码
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
*
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // URL: /page?id=123&name=test
|
|
25
|
+
* function MyReactComponent() {
|
|
26
|
+
* const params = useParams();
|
|
27
|
+
* return <div>ID: {params.id}, Name: {params.name}</div>;
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @returns URL query 参数对象。
|
|
32
|
+
*/
|
|
33
|
+
function useParams() {
|
|
34
|
+
const [params, setParams] = _react.default.useState(() => extractParams((0, _runtime.getHistory)().location.search));
|
|
35
|
+
_react.default.useEffect(() => {
|
|
36
|
+
const unlisten = (0, _runtime.getHistory)().listen(location => {
|
|
37
|
+
setParams(extractParams(location.search));
|
|
38
|
+
});
|
|
39
|
+
return unlisten;
|
|
40
|
+
}, []);
|
|
41
|
+
return params;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 从 query string 中提取参数对象。
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
function extractParams(search) {
|
|
50
|
+
const params = {};
|
|
51
|
+
const urlSearchParams = new URLSearchParams(search);
|
|
52
|
+
urlSearchParams.forEach((value, key) => {
|
|
53
|
+
params[key] = value;
|
|
54
|
+
});
|
|
55
|
+
return params;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParams.js","names":["_react","_interopRequireDefault","require","_runtime","useParams","params","setParams","React","useState","extractParams","getHistory","location","search","useEffect","unlisten","listen","urlSearchParams","URLSearchParams","forEach","value","key"],"sources":["../../src/useParams.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 URL query 参数的 React hooks,返回普通对象。\n *\n * 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,\n * 而不是 URLSearchParams 实例,使用更方便。\n *\n * **注意**:\n * - 重复的参数只会保留最后一个值\n * - 所有值都是字符串类型\n * - 参数值会自动进行 URL 解码\n *\n * @example\n *\n * ```tsx\n * // URL: /page?id=123&name=test\n * function MyReactComponent() {\n * const params = useParams();\n * return <div>ID: {params.id}, Name: {params.name}</div>;\n * }\n * ```\n *\n * @returns URL query 参数对象。\n */\nexport function useParams(): Record<string, string> {\n const [params, setParams] = React.useState<Record<string, string>>(() =>\n extractParams(getHistory().location.search)\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((location) => {\n setParams(extractParams(location.search));\n });\n return unlisten;\n }, []);\n\n return params;\n}\n\n/**\n * 从 query string 中提取参数对象。\n *\n * @internal\n */\nfunction extractParams(search: string): Record<string, string> {\n const params: Record<string, string> = {};\n const urlSearchParams = new URLSearchParams(search);\n\n urlSearchParams.forEach((value, key) => {\n params[key] = value;\n });\n\n return params;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,SAASA,CAAA,EAA2B;EAClD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAyB,MACjEC,aAAa,CAAC,IAAAC,mBAAU,EAAC,CAAC,CAACC,QAAQ,CAACC,MAAM,CAC5C,CAAC;EAEDL,cAAK,CAACM,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG,IAAAJ,mBAAU,EAAC,CAAC,CAACK,MAAM,CAAEJ,QAAQ,IAAK;MACjDL,SAAS,CAACG,aAAa,CAACE,QAAQ,CAACC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,OAAOE,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,aAAaA,CAACG,MAAc,EAA0B;EAC7D,MAAMP,MAA8B,GAAG,CAAC,CAAC;EACzC,MAAMW,eAAe,GAAG,IAAIC,eAAe,CAACL,MAAM,CAAC;EAEnDI,eAAe,CAACE,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IACtCf,MAAM,CAACe,GAAG,CAAC,GAAGD,KAAK;EACrB,CAAC,CAAC;EAEF,OAAOd,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.usePathParams = usePathParams;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _runtime = require("@next-core/runtime");
|
|
10
|
+
/**
|
|
11
|
+
* 获取当前路由路径参数的 React hooks。
|
|
12
|
+
*
|
|
13
|
+
* **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。
|
|
14
|
+
* 如果在非路由上下文中使用,将返回空对象。
|
|
15
|
+
*
|
|
16
|
+
* 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。
|
|
17
|
+
* 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
*
|
|
21
|
+
* ```tsx
|
|
22
|
+
* function MyReactComponent() {
|
|
23
|
+
* const pathParams = usePathParams();
|
|
24
|
+
* return <div>User ID: {pathParams.userId}</div>;
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @returns 当前路由的路径参数对象。
|
|
29
|
+
*/
|
|
30
|
+
function usePathParams() {
|
|
31
|
+
const [pathParams, setPathParams] = _react.default.useState(() => extractPathParams());
|
|
32
|
+
_react.default.useEffect(() => {
|
|
33
|
+
const listener = () => {
|
|
34
|
+
setPathParams(extractPathParams());
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
// 监听 page.load 事件,此时路由匹配已完成,match 信息已更新
|
|
38
|
+
window.addEventListener("page.load", listener);
|
|
39
|
+
return () => window.removeEventListener("page.load", listener);
|
|
40
|
+
}, []);
|
|
41
|
+
return pathParams;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 从运行时上下文中提取路径参数。
|
|
46
|
+
*
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
function extractPathParams() {
|
|
50
|
+
try {
|
|
51
|
+
var _runtimeValue$match;
|
|
52
|
+
// 使用 __secret_internals 获取当前运行时值
|
|
53
|
+
const runtimeValue = _runtime.__secret_internals.getLegalRuntimeValue();
|
|
54
|
+
return (runtimeValue === null || runtimeValue === void 0 || (_runtimeValue$match = runtimeValue.match) === null || _runtimeValue$match === void 0 ? void 0 : _runtimeValue$match.params) ?? {};
|
|
55
|
+
} catch (_error) {
|
|
56
|
+
// 如果运行时上下文不可用,返回空对象
|
|
57
|
+
return {};
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=usePathParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePathParams.js","names":["_react","_interopRequireDefault","require","_runtime","usePathParams","pathParams","setPathParams","React","useState","extractPathParams","useEffect","listener","window","addEventListener","removeEventListener","_runtimeValue$match","runtimeValue","__secret_internals","getLegalRuntimeValue","match","params","_error"],"sources":["../../src/usePathParams.ts"],"sourcesContent":["import React from \"react\";\nimport { __secret_internals } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由路径参数的 React hooks。\n *\n * **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。\n * 如果在非路由上下文中使用,将返回空对象。\n *\n * 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。\n * 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const pathParams = usePathParams();\n * return <div>User ID: {pathParams.userId}</div>;\n * }\n * ```\n *\n * @returns 当前路由的路径参数对象。\n */\nexport function usePathParams(): Record<string, string> {\n const [pathParams, setPathParams] = React.useState<Record<string, string>>(\n () => extractPathParams()\n );\n\n React.useEffect(() => {\n const listener = (() => {\n setPathParams(extractPathParams());\n }) as EventListener;\n\n // 监听 page.load 事件,此时路由匹配已完成,match 信息已更新\n window.addEventListener(\"page.load\", listener);\n return () => window.removeEventListener(\"page.load\", listener);\n }, []);\n\n return pathParams;\n}\n\n/**\n * 从运行时上下文中提取路径参数。\n *\n * @internal\n */\nfunction extractPathParams(): Record<string, string> {\n try {\n // 使用 __secret_internals 获取当前运行时值\n const runtimeValue = __secret_internals.getLegalRuntimeValue();\n return runtimeValue?.match?.params ?? {};\n } catch (_error) {\n // 如果运行时上下文不可用,返回空对象\n return {};\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,aAAaA,CAAA,EAA2B;EACtD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAChD,MAAMC,iBAAiB,CAAC,CAC1B,CAAC;EAEDF,cAAK,CAACG,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAIA,CAAA,KAAM;MACtBL,aAAa,CAACG,iBAAiB,CAAC,CAAC,CAAC;IACpC,CAAmB;;IAEnB;IACAG,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEF,QAAQ,CAAC;IAC9C,OAAO,MAAMC,MAAM,CAACE,mBAAmB,CAAC,WAAW,EAAEH,QAAQ,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAON,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,iBAAiBA,CAAA,EAA2B;EACnD,IAAI;IAAA,IAAAM,mBAAA;IACF;IACA,MAAMC,YAAY,GAAGC,2BAAkB,CAACC,oBAAoB,CAAC,CAAC;IAC9D,OAAO,CAAAF,YAAY,aAAZA,YAAY,gBAAAD,mBAAA,GAAZC,YAAY,CAAEG,KAAK,cAAAJ,mBAAA,uBAAnBA,mBAAA,CAAqBK,MAAM,KAAI,CAAC,CAAC;EAC1C,CAAC,CAAC,OAAOC,MAAM,EAAE;IACf;IACA,OAAO,CAAC,CAAC;EACX;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useSearchParams = useSearchParams;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _runtime = require("@next-core/runtime");
|
|
10
|
+
/**
|
|
11
|
+
* 获取当前 URL 查询参数的 React hooks。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* ```tsx
|
|
16
|
+
* function MyReactComponent() {
|
|
17
|
+
* const searchParams = useSearchParams();
|
|
18
|
+
* return <div>Search query: {searchParams.get('q')}</div>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @returns 当前 URL 的查询参数 URLSearchParams 对象。
|
|
23
|
+
*/
|
|
24
|
+
function useSearchParams() {
|
|
25
|
+
const [searchParams, setSearchParams] = _react.default.useState(() => new URLSearchParams((0, _runtime.getHistory)().location.search));
|
|
26
|
+
_react.default.useEffect(() => {
|
|
27
|
+
const unlisten = (0, _runtime.getHistory)().listen(location => {
|
|
28
|
+
setSearchParams(new URLSearchParams(location.search));
|
|
29
|
+
});
|
|
30
|
+
return unlisten;
|
|
31
|
+
}, []);
|
|
32
|
+
return searchParams;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=useSearchParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSearchParams.js","names":["_react","_interopRequireDefault","require","_runtime","useSearchParams","searchParams","setSearchParams","React","useState","URLSearchParams","getHistory","location","search","useEffect","unlisten","listen"],"sources":["../../src/useSearchParams.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取当前 URL 查询参数的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const searchParams = useSearchParams();\n * return <div>Search query: {searchParams.get('q')}</div>;\n * }\n * ```\n *\n * @returns 当前 URL 的查询参数 URLSearchParams 对象。\n */\nexport function useSearchParams(): URLSearchParams {\n const [searchParams, setSearchParams] = React.useState<URLSearchParams>(\n () => new URLSearchParams(getHistory().location.search)\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((location) => {\n setSearchParams(new URLSearchParams(location.search));\n });\n return unlisten;\n }, []);\n\n return searchParams;\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,eAAeA,CAAA,EAAoB;EACjD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAK,CAACC,QAAQ,CACpD,MAAM,IAAIC,eAAe,CAAC,IAAAC,mBAAU,EAAC,CAAC,CAACC,QAAQ,CAACC,MAAM,CACxD,CAAC;EAEDL,cAAK,CAACM,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAG,IAAAJ,mBAAU,EAAC,CAAC,CAACK,MAAM,CAAEJ,QAAQ,IAAK;MACjDL,eAAe,CAAC,IAAIG,eAAe,CAACE,QAAQ,CAACC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,OAAOE,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOT,YAAY;AACrB","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -7,4 +7,10 @@ export * from "./useProvider/useProvider.js";
|
|
|
7
7
|
export * from "./asyncWrapBrick.js";
|
|
8
8
|
export * from "./useNavConfig.js";
|
|
9
9
|
export * from "./useLazyWrapBrick.js";
|
|
10
|
+
export * from "./usePathParams.js";
|
|
11
|
+
export * from "./useSearchParams.js";
|
|
12
|
+
export * from "./useParams.js";
|
|
13
|
+
export * from "./useHistory.js";
|
|
14
|
+
export * from "./useAuth.js";
|
|
15
|
+
export * from "./useLocation.js";
|
|
10
16
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./ReactUseBrick.js\";\nexport * from \"./useCurrentTheme.js\";\nexport * from \"./useCurrentApp.js\";\nexport * from \"./useRecentApps.js\";\nexport * from \"./useRouteRender.js\";\nexport * from \"./useProvider/useProvider.js\";\nexport * from \"./asyncWrapBrick.js\";\nexport * from \"./useNavConfig.js\";\nexport * from \"./useLazyWrapBrick.js\";\nexport * from \"./usePathParams.js\";\nexport * from \"./useSearchParams.js\";\nexport * from \"./useParams.js\";\nexport * from \"./useHistory.js\";\nexport * from \"./useAuth.js\";\nexport * from \"./useLocation.js\";\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,oBAAoB;AAClC,cAAc,oBAAoB;AAClC,cAAc,qBAAqB;AACnC,cAAc,8BAA8B;AAC5C,cAAc,qBAAqB;AACnC,cAAc,mBAAmB;AACjC,cAAc,uBAAuB;AACrC,cAAc,oBAAoB;AAClC,cAAc,sBAAsB;AACpC,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAC/B,cAAc,cAAc;AAC5B,cAAc,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { auth } from "@next-core/easyops-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* 获取用户认证信息的 React hooks。
|
|
5
|
+
*
|
|
6
|
+
* **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,
|
|
7
|
+
* 避免不必要的组件重渲染。认证信息在会话期间保持不变。
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* ```tsx
|
|
12
|
+
* function MyReactComponent() {
|
|
13
|
+
* const authInfo = useAuth();
|
|
14
|
+
* return <div>Username: {authInfo.username}</div>;
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @returns 当前用户的认证信息对象。
|
|
19
|
+
*/
|
|
20
|
+
export function useAuth() {
|
|
21
|
+
return React.useMemo(() => auth.getAuth(), []);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useAuth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAuth.js","names":["React","auth","useAuth","useMemo","getAuth"],"sources":["../../src/useAuth.ts"],"sourcesContent":["import React from \"react\";\nimport { auth } from \"@next-core/easyops-runtime\";\n\nexport type AuthInfo = ReturnType<typeof auth.getAuth>;\n\n/**\n * 获取用户认证信息的 React hooks。\n *\n * **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,\n * 避免不必要的组件重渲染。认证信息在会话期间保持不变。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const authInfo = useAuth();\n * return <div>Username: {authInfo.username}</div>;\n * }\n * ```\n *\n * @returns 当前用户的认证信息对象。\n */\nexport function useAuth(): AuthInfo {\n return React.useMemo(() => auth.getAuth(), []);\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,4BAA4B;AAIjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,OAAOA,CAAA,EAAa;EAClC,OAAOF,KAAK,CAACG,OAAO,CAAC,MAAMF,IAAI,CAACG,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;AAChD","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getHistory } from "@next-core/runtime";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 获取 history 对象的 React hooks。
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
*
|
|
8
|
+
* ```tsx
|
|
9
|
+
* function MyReactComponent() {
|
|
10
|
+
* const history = useHistory();
|
|
11
|
+
* const handleClick = () => {
|
|
12
|
+
* history.push('/new-page');
|
|
13
|
+
* };
|
|
14
|
+
* return <button onClick={handleClick}>Navigate</button>;
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @returns history 对象,用于路由导航。
|
|
19
|
+
*/
|
|
20
|
+
export function useHistory() {
|
|
21
|
+
return getHistory();
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useHistory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHistory.js","names":["getHistory","useHistory"],"sources":["../../src/useHistory.ts"],"sourcesContent":["import { getHistory, type NextHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 history 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const history = useHistory();\n * const handleClick = () => {\n * history.push('/new-page');\n * };\n * return <button onClick={handleClick}>Navigate</button>;\n * }\n * ```\n *\n * @returns history 对象,用于路由导航。\n */\nexport function useHistory(): NextHistory {\n return getHistory();\n}\n"],"mappings":"AAAA,SAASA,UAAU,QAA0B,oBAAoB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAA,EAAgB;EACxC,OAAOD,UAAU,CAAC,CAAC;AACrB","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getHistory } from "@next-core/runtime";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取当前路由 location 对象的 React hooks。
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* function MyReactComponent() {
|
|
11
|
+
* const location = useLocation();
|
|
12
|
+
* return <div>Current path: {location.pathname}</div>;
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @returns 当前路由的 location 对象。
|
|
17
|
+
*/
|
|
18
|
+
export function useLocation() {
|
|
19
|
+
const [location, setLocation] = React.useState(() => getHistory().location);
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
const unlisten = getHistory().listen(newLocation => {
|
|
22
|
+
setLocation(newLocation);
|
|
23
|
+
});
|
|
24
|
+
return unlisten;
|
|
25
|
+
}, []);
|
|
26
|
+
return location;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocation.js","names":["React","getHistory","useLocation","location","setLocation","useState","useEffect","unlisten","listen","newLocation"],"sources":["../../src/useLocation.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory, type NextLocation } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由 location 对象的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const location = useLocation();\n * return <div>Current path: {location.pathname}</div>;\n * }\n * ```\n *\n * @returns 当前路由的 location 对象。\n */\nexport function useLocation(): NextLocation {\n const [location, setLocation] = React.useState<NextLocation>(\n () => getHistory().location\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((newLocation) => {\n setLocation(newLocation);\n });\n return unlisten;\n }, []);\n\n return location;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAA2B,oBAAoB;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,WAAWA,CAAA,EAAiB;EAC1C,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAC5C,MAAMJ,UAAU,CAAC,CAAC,CAACE,QACrB,CAAC;EAEDH,KAAK,CAACM,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAGN,UAAU,CAAC,CAAC,CAACO,MAAM,CAAEC,WAAW,IAAK;MACpDL,WAAW,CAACK,WAAW,CAAC;IAC1B,CAAC,CAAC;IACF,OAAOF,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,QAAQ;AACjB","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getHistory } from "@next-core/runtime";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取 URL query 参数的 React hooks,返回普通对象。
|
|
6
|
+
*
|
|
7
|
+
* 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,
|
|
8
|
+
* 而不是 URLSearchParams 实例,使用更方便。
|
|
9
|
+
*
|
|
10
|
+
* **注意**:
|
|
11
|
+
* - 重复的参数只会保留最后一个值
|
|
12
|
+
* - 所有值都是字符串类型
|
|
13
|
+
* - 参数值会自动进行 URL 解码
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // URL: /page?id=123&name=test
|
|
19
|
+
* function MyReactComponent() {
|
|
20
|
+
* const params = useParams();
|
|
21
|
+
* return <div>ID: {params.id}, Name: {params.name}</div>;
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @returns URL query 参数对象。
|
|
26
|
+
*/
|
|
27
|
+
export function useParams() {
|
|
28
|
+
const [params, setParams] = React.useState(() => extractParams(getHistory().location.search));
|
|
29
|
+
React.useEffect(() => {
|
|
30
|
+
const unlisten = getHistory().listen(location => {
|
|
31
|
+
setParams(extractParams(location.search));
|
|
32
|
+
});
|
|
33
|
+
return unlisten;
|
|
34
|
+
}, []);
|
|
35
|
+
return params;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 从 query string 中提取参数对象。
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
function extractParams(search) {
|
|
44
|
+
const params = {};
|
|
45
|
+
const urlSearchParams = new URLSearchParams(search);
|
|
46
|
+
urlSearchParams.forEach((value, key) => {
|
|
47
|
+
params[key] = value;
|
|
48
|
+
});
|
|
49
|
+
return params;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=useParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useParams.js","names":["React","getHistory","useParams","params","setParams","useState","extractParams","location","search","useEffect","unlisten","listen","urlSearchParams","URLSearchParams","forEach","value","key"],"sources":["../../src/useParams.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取 URL query 参数的 React hooks,返回普通对象。\n *\n * 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,\n * 而不是 URLSearchParams 实例,使用更方便。\n *\n * **注意**:\n * - 重复的参数只会保留最后一个值\n * - 所有值都是字符串类型\n * - 参数值会自动进行 URL 解码\n *\n * @example\n *\n * ```tsx\n * // URL: /page?id=123&name=test\n * function MyReactComponent() {\n * const params = useParams();\n * return <div>ID: {params.id}, Name: {params.name}</div>;\n * }\n * ```\n *\n * @returns URL query 参数对象。\n */\nexport function useParams(): Record<string, string> {\n const [params, setParams] = React.useState<Record<string, string>>(() =>\n extractParams(getHistory().location.search)\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((location) => {\n setParams(extractParams(location.search));\n });\n return unlisten;\n }, []);\n\n return params;\n}\n\n/**\n * 从 query string 中提取参数对象。\n *\n * @internal\n */\nfunction extractParams(search: string): Record<string, string> {\n const params: Record<string, string> = {};\n const urlSearchParams = new URLSearchParams(search);\n\n urlSearchParams.forEach((value, key) => {\n params[key] = value;\n });\n\n return params;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAA2B;EAClD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAyB,MACjEC,aAAa,CAACL,UAAU,CAAC,CAAC,CAACM,QAAQ,CAACC,MAAM,CAC5C,CAAC;EAEDR,KAAK,CAACS,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAGT,UAAU,CAAC,CAAC,CAACU,MAAM,CAAEJ,QAAQ,IAAK;MACjDH,SAAS,CAACE,aAAa,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC;IACF,OAAOE,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOP,MAAM;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,aAAaA,CAACE,MAAc,EAA0B;EAC7D,MAAML,MAA8B,GAAG,CAAC,CAAC;EACzC,MAAMS,eAAe,GAAG,IAAIC,eAAe,CAACL,MAAM,CAAC;EAEnDI,eAAe,CAACE,OAAO,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;IACtCb,MAAM,CAACa,GAAG,CAAC,GAAGD,KAAK;EACrB,CAAC,CAAC;EAEF,OAAOZ,MAAM;AACf","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { __secret_internals } from "@next-core/runtime";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取当前路由路径参数的 React hooks。
|
|
6
|
+
*
|
|
7
|
+
* **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。
|
|
8
|
+
* 如果在非路由上下文中使用,将返回空对象。
|
|
9
|
+
*
|
|
10
|
+
* 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。
|
|
11
|
+
* 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
*
|
|
15
|
+
* ```tsx
|
|
16
|
+
* function MyReactComponent() {
|
|
17
|
+
* const pathParams = usePathParams();
|
|
18
|
+
* return <div>User ID: {pathParams.userId}</div>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @returns 当前路由的路径参数对象。
|
|
23
|
+
*/
|
|
24
|
+
export function usePathParams() {
|
|
25
|
+
const [pathParams, setPathParams] = React.useState(() => extractPathParams());
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
const listener = () => {
|
|
28
|
+
setPathParams(extractPathParams());
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
// 监听 page.load 事件,此时路由匹配已完成,match 信息已更新
|
|
32
|
+
window.addEventListener("page.load", listener);
|
|
33
|
+
return () => window.removeEventListener("page.load", listener);
|
|
34
|
+
}, []);
|
|
35
|
+
return pathParams;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 从运行时上下文中提取路径参数。
|
|
40
|
+
*
|
|
41
|
+
* @internal
|
|
42
|
+
*/
|
|
43
|
+
function extractPathParams() {
|
|
44
|
+
try {
|
|
45
|
+
var _runtimeValue$match$p, _runtimeValue$match;
|
|
46
|
+
// 使用 __secret_internals 获取当前运行时值
|
|
47
|
+
const runtimeValue = __secret_internals.getLegalRuntimeValue();
|
|
48
|
+
return (_runtimeValue$match$p = runtimeValue === null || runtimeValue === void 0 || (_runtimeValue$match = runtimeValue.match) === null || _runtimeValue$match === void 0 ? void 0 : _runtimeValue$match.params) !== null && _runtimeValue$match$p !== void 0 ? _runtimeValue$match$p : {};
|
|
49
|
+
} catch (_error) {
|
|
50
|
+
// 如果运行时上下文不可用,返回空对象
|
|
51
|
+
return {};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=usePathParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePathParams.js","names":["React","__secret_internals","usePathParams","pathParams","setPathParams","useState","extractPathParams","useEffect","listener","window","addEventListener","removeEventListener","_runtimeValue$match$p","_runtimeValue$match","runtimeValue","getLegalRuntimeValue","match","params","_error"],"sources":["../../src/usePathParams.ts"],"sourcesContent":["import React from \"react\";\nimport { __secret_internals } from \"@next-core/runtime\";\n\n/**\n * 获取当前路由路径参数的 React hooks。\n *\n * **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。\n * 如果在非路由上下文中使用,将返回空对象。\n *\n * 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。\n * 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const pathParams = usePathParams();\n * return <div>User ID: {pathParams.userId}</div>;\n * }\n * ```\n *\n * @returns 当前路由的路径参数对象。\n */\nexport function usePathParams(): Record<string, string> {\n const [pathParams, setPathParams] = React.useState<Record<string, string>>(\n () => extractPathParams()\n );\n\n React.useEffect(() => {\n const listener = (() => {\n setPathParams(extractPathParams());\n }) as EventListener;\n\n // 监听 page.load 事件,此时路由匹配已完成,match 信息已更新\n window.addEventListener(\"page.load\", listener);\n return () => window.removeEventListener(\"page.load\", listener);\n }, []);\n\n return pathParams;\n}\n\n/**\n * 从运行时上下文中提取路径参数。\n *\n * @internal\n */\nfunction extractPathParams(): Record<string, string> {\n try {\n // 使用 __secret_internals 获取当前运行时值\n const runtimeValue = __secret_internals.getLegalRuntimeValue();\n return runtimeValue?.match?.params ?? {};\n } catch (_error) {\n // 如果运行时上下文不可用,返回空对象\n return {};\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,kBAAkB,QAAQ,oBAAoB;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAAA,EAA2B;EACtD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAChD,MAAMC,iBAAiB,CAAC,CAC1B,CAAC;EAEDN,KAAK,CAACO,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAIA,CAAA,KAAM;MACtBJ,aAAa,CAACE,iBAAiB,CAAC,CAAC,CAAC;IACpC,CAAmB;;IAEnB;IACAG,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEF,QAAQ,CAAC;IAC9C,OAAO,MAAMC,MAAM,CAACE,mBAAmB,CAAC,WAAW,EAAEH,QAAQ,CAAC;EAChE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOL,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASG,iBAAiBA,CAAA,EAA2B;EACnD,IAAI;IAAA,IAAAM,qBAAA,EAAAC,mBAAA;IACF;IACA,MAAMC,YAAY,GAAGb,kBAAkB,CAACc,oBAAoB,CAAC,CAAC;IAC9D,QAAAH,qBAAA,GAAOE,YAAY,aAAZA,YAAY,gBAAAD,mBAAA,GAAZC,YAAY,CAAEE,KAAK,cAAAH,mBAAA,uBAAnBA,mBAAA,CAAqBI,MAAM,cAAAL,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EAC1C,CAAC,CAAC,OAAOM,MAAM,EAAE;IACf;IACA,OAAO,CAAC,CAAC;EACX;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { getHistory } from "@next-core/runtime";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取当前 URL 查询参数的 React hooks。
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
*
|
|
9
|
+
* ```tsx
|
|
10
|
+
* function MyReactComponent() {
|
|
11
|
+
* const searchParams = useSearchParams();
|
|
12
|
+
* return <div>Search query: {searchParams.get('q')}</div>;
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @returns 当前 URL 的查询参数 URLSearchParams 对象。
|
|
17
|
+
*/
|
|
18
|
+
export function useSearchParams() {
|
|
19
|
+
const [searchParams, setSearchParams] = React.useState(() => new URLSearchParams(getHistory().location.search));
|
|
20
|
+
React.useEffect(() => {
|
|
21
|
+
const unlisten = getHistory().listen(location => {
|
|
22
|
+
setSearchParams(new URLSearchParams(location.search));
|
|
23
|
+
});
|
|
24
|
+
return unlisten;
|
|
25
|
+
}, []);
|
|
26
|
+
return searchParams;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useSearchParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSearchParams.js","names":["React","getHistory","useSearchParams","searchParams","setSearchParams","useState","URLSearchParams","location","search","useEffect","unlisten","listen"],"sources":["../../src/useSearchParams.ts"],"sourcesContent":["import React from \"react\";\nimport { getHistory } from \"@next-core/runtime\";\n\n/**\n * 获取当前 URL 查询参数的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const searchParams = useSearchParams();\n * return <div>Search query: {searchParams.get('q')}</div>;\n * }\n * ```\n *\n * @returns 当前 URL 的查询参数 URLSearchParams 对象。\n */\nexport function useSearchParams(): URLSearchParams {\n const [searchParams, setSearchParams] = React.useState<URLSearchParams>(\n () => new URLSearchParams(getHistory().location.search)\n );\n\n React.useEffect(() => {\n const unlisten = getHistory().listen((location) => {\n setSearchParams(new URLSearchParams(location.search));\n });\n return unlisten;\n }, []);\n\n return searchParams;\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAAA,EAAoB;EACjD,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CACpD,MAAM,IAAIC,eAAe,CAACL,UAAU,CAAC,CAAC,CAACM,QAAQ,CAACC,MAAM,CACxD,CAAC;EAEDR,KAAK,CAACS,SAAS,CAAC,MAAM;IACpB,MAAMC,QAAQ,GAAGT,UAAU,CAAC,CAAC,CAACU,MAAM,CAAEJ,QAAQ,IAAK;MACjDH,eAAe,CAAC,IAAIE,eAAe,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,OAAOE,QAAQ;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOP,YAAY;AACrB","ignoreList":[]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -7,3 +7,9 @@ export * from "./useProvider/useProvider.js";
|
|
|
7
7
|
export * from "./asyncWrapBrick.js";
|
|
8
8
|
export * from "./useNavConfig.js";
|
|
9
9
|
export * from "./useLazyWrapBrick.js";
|
|
10
|
+
export * from "./usePathParams.js";
|
|
11
|
+
export * from "./useSearchParams.js";
|
|
12
|
+
export * from "./useParams.js";
|
|
13
|
+
export * from "./useHistory.js";
|
|
14
|
+
export * from "./useAuth.js";
|
|
15
|
+
export * from "./useLocation.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { auth } from "@next-core/easyops-runtime";
|
|
2
|
+
export type AuthInfo = ReturnType<typeof auth.getAuth>;
|
|
3
|
+
/**
|
|
4
|
+
* 获取用户认证信息的 React hooks。
|
|
5
|
+
*
|
|
6
|
+
* **注意**: 使用 useMemo 确保返回的认证信息对象引用稳定,
|
|
7
|
+
* 避免不必要的组件重渲染。认证信息在会话期间保持不变。
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
*
|
|
11
|
+
* ```tsx
|
|
12
|
+
* function MyReactComponent() {
|
|
13
|
+
* const authInfo = useAuth();
|
|
14
|
+
* return <div>Username: {authInfo.username}</div>;
|
|
15
|
+
* }
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @returns 当前用户的认证信息对象。
|
|
19
|
+
*/
|
|
20
|
+
export declare function useAuth(): AuthInfo;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type NextHistory } from "@next-core/runtime";
|
|
2
|
+
/**
|
|
3
|
+
* 获取 history 对象的 React hooks。
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
*
|
|
7
|
+
* ```tsx
|
|
8
|
+
* function MyReactComponent() {
|
|
9
|
+
* const history = useHistory();
|
|
10
|
+
* const handleClick = () => {
|
|
11
|
+
* history.push('/new-page');
|
|
12
|
+
* };
|
|
13
|
+
* return <button onClick={handleClick}>Navigate</button>;
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @returns history 对象,用于路由导航。
|
|
18
|
+
*/
|
|
19
|
+
export declare function useHistory(): NextHistory;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type NextLocation } from "@next-core/runtime";
|
|
2
|
+
/**
|
|
3
|
+
* 获取当前路由 location 对象的 React hooks。
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
*
|
|
7
|
+
* ```tsx
|
|
8
|
+
* function MyReactComponent() {
|
|
9
|
+
* const location = useLocation();
|
|
10
|
+
* return <div>Current path: {location.pathname}</div>;
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @returns 当前路由的 location 对象。
|
|
15
|
+
*/
|
|
16
|
+
export declare function useLocation(): NextLocation;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取 URL query 参数的 React hooks,返回普通对象。
|
|
3
|
+
*
|
|
4
|
+
* 与 `useSearchParams` 不同,此 hook 返回一个普通的键值对象,
|
|
5
|
+
* 而不是 URLSearchParams 实例,使用更方便。
|
|
6
|
+
*
|
|
7
|
+
* **注意**:
|
|
8
|
+
* - 重复的参数只会保留最后一个值
|
|
9
|
+
* - 所有值都是字符串类型
|
|
10
|
+
* - 参数值会自动进行 URL 解码
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* ```tsx
|
|
15
|
+
* // URL: /page?id=123&name=test
|
|
16
|
+
* function MyReactComponent() {
|
|
17
|
+
* const params = useParams();
|
|
18
|
+
* return <div>ID: {params.id}, Name: {params.name}</div>;
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @returns URL query 参数对象。
|
|
23
|
+
*/
|
|
24
|
+
export declare function useParams(): Record<string, string>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取当前路由路径参数的 React hooks。
|
|
3
|
+
*
|
|
4
|
+
* **注意**: 此 hook 依赖于运行时上下文中的路由匹配信息。
|
|
5
|
+
* 如果在非路由上下文中使用,将返回空对象。
|
|
6
|
+
*
|
|
7
|
+
* 此 hook 监听 `page.load` 事件以确保在路由匹配完成后更新路径参数。
|
|
8
|
+
* 直接监听 history 变化无法获取正确的参数,因为路由匹配是异步的。
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
*
|
|
12
|
+
* ```tsx
|
|
13
|
+
* function MyReactComponent() {
|
|
14
|
+
* const pathParams = usePathParams();
|
|
15
|
+
* return <div>User ID: {pathParams.userId}</div>;
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @returns 当前路由的路径参数对象。
|
|
20
|
+
*/
|
|
21
|
+
export declare function usePathParams(): Record<string, string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取当前 URL 查询参数的 React hooks。
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* function MyReactComponent() {
|
|
8
|
+
* const searchParams = useSearchParams();
|
|
9
|
+
* return <div>Search query: {searchParams.get('q')}</div>;
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @returns 当前 URL 的查询参数 URLSearchParams 对象。
|
|
14
|
+
*/
|
|
15
|
+
export declare function useSearchParams(): URLSearchParams;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/react-runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/react-runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"@next-core/test-next": "^2.0.1",
|
|
50
50
|
"jest-fetch-mock": "^3.0.3"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "e9b30154f4d3981a1f706c791996d8fb0c1e49f1"
|
|
53
53
|
}
|