create-api-hooks
Advanced tools
Comparing version 0.0.10 to 0.0.11
@@ -28,2 +28,3 @@ interface ApiHooksParams<P, D> { | ||
loading: boolean; | ||
error: any; | ||
}) & { | ||
@@ -30,0 +31,0 @@ request: (params: P) => Promise<D>; |
@@ -9,6 +9,11 @@ import { useEffect, useState, useCallback, useRef } from 'react'; | ||
initValue = cache && needInit ? cacheObj[requestName] || initValue : initValue; | ||
var _f = useState(initValue), data = _f[0], setData = _f[1]; | ||
var _g = useState(false), loading = _g[0], setLoading = _g[1]; | ||
var _f = useState(), error = _f[0], setError = _f[1]; | ||
var _g = useState(initValue), data = _g[0], setData = _g[1]; | ||
var _h = useState(false), loading = _h[0], setLoading = _h[1]; | ||
var preParams = useRef(initValue); | ||
var isOutRequestRef = useRef(false); | ||
var useUnmountRef = useRef(false); | ||
useEffect(function () { return function () { | ||
useUnmountRef.current = true; | ||
}; }, []); | ||
var innerRequest = useCallback(function (params) { | ||
@@ -25,3 +30,5 @@ var isOutRequest = isOutRequestRef.current; | ||
var data = _a.data; | ||
setData(data); | ||
if (!useUnmountRef.current) { | ||
setData(data); | ||
} | ||
cacheObj[requestName] = | ||
@@ -34,2 +41,5 @@ typeof data !== 'string' | ||
.catch(function (e) { | ||
if (!useUnmountRef.current) { | ||
setError(e); | ||
} | ||
if (isOutRequest) { | ||
@@ -40,3 +50,7 @@ preParams.current = {}; | ||
}) | ||
.finally(function () { return setLoading(false); }); | ||
.finally(function () { | ||
if (!useUnmountRef.current) { | ||
setLoading(false); | ||
} | ||
}); | ||
}, [data]); | ||
@@ -58,3 +72,3 @@ var preNeedInit = useRef(needInit); | ||
}, [innerRequest, params]); | ||
return { request: outRequest, data: data, loading: loading }; | ||
return { request: outRequest, data: data, loading: loading, error: error }; | ||
}; | ||
@@ -61,0 +75,0 @@ var result = Hooks; |
@@ -13,6 +13,11 @@ 'use strict'; | ||
initValue = cache && needInit ? cacheObj[requestName] || initValue : initValue; | ||
var _f = react.useState(initValue), data = _f[0], setData = _f[1]; | ||
var _g = react.useState(false), loading = _g[0], setLoading = _g[1]; | ||
var _f = react.useState(), error = _f[0], setError = _f[1]; | ||
var _g = react.useState(initValue), data = _g[0], setData = _g[1]; | ||
var _h = react.useState(false), loading = _h[0], setLoading = _h[1]; | ||
var preParams = react.useRef(initValue); | ||
var isOutRequestRef = react.useRef(false); | ||
var useUnmountRef = react.useRef(false); | ||
react.useEffect(function () { return function () { | ||
useUnmountRef.current = true; | ||
}; }, []); | ||
var innerRequest = react.useCallback(function (params) { | ||
@@ -29,3 +34,5 @@ var isOutRequest = isOutRequestRef.current; | ||
var data = _a.data; | ||
setData(data); | ||
if (!useUnmountRef.current) { | ||
setData(data); | ||
} | ||
cacheObj[requestName] = | ||
@@ -38,2 +45,5 @@ typeof data !== 'string' | ||
.catch(function (e) { | ||
if (!useUnmountRef.current) { | ||
setError(e); | ||
} | ||
if (isOutRequest) { | ||
@@ -44,3 +54,7 @@ preParams.current = {}; | ||
}) | ||
.finally(function () { return setLoading(false); }); | ||
.finally(function () { | ||
if (!useUnmountRef.current) { | ||
setLoading(false); | ||
} | ||
}); | ||
}, [data]); | ||
@@ -62,3 +76,3 @@ var preNeedInit = react.useRef(needInit); | ||
}, [innerRequest, params]); | ||
return { request: outRequest, data: data, loading: loading }; | ||
return { request: outRequest, data: data, loading: loading, error: error }; | ||
}; | ||
@@ -65,0 +79,0 @@ var result = Hooks; |
{ | ||
"name": "create-api-hooks", | ||
"version": "0.0.10", | ||
"version": "0.0.11", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "author": "mushan0x0", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
22207
195