Current collected state Current
Observed since 20 Oct, 21:24 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
8lab_hooks
8lab hooks库
适用于 columns 中有 render 依赖外部 State, 或 columns 有关联 columnsSetter 做动态变更
快速开始:
import { TableColumnSetter } from '@ncompass/table-column-setter'
import { useFetchData, useColumns } from '@ncompass/hooks'
const { columns, columnsSetter } = useColumns({
dependencies: [data],
columns: [
{
title: '名称',
dataIndex: 'name',
key: 'name',
render: (text) => {
return data?.res
},
},
{
key: 'aaabbb',
title: 'aaabbb',
dataIndex: 'aaabbb',
defaultHide: true,
},
],
})
<TableColumnSetter
columns={columns}
onChange={columnsSetter}
/>
<Table
pagination={pagination}
dataSource={data || []}
onChange={changeHandler}
columns={columns}
loading={loading}
/>
用于监听 window 宽高 (clientWidth,clientHeight)
const size: { width: number, height: number} = useWindowSize()
用于跨页签共享信息 目前包含用户信息设置
用户信息设置: 用户在多页签进行操作 所有页签共享最新 activeTime 以保证设置的超时时间过后准时 logout
快速开始
const { isUserActive, login, getUserToken, getUserInfo } = useLocalStorage({
userActivePeriod: 3600,
});
useEffect(() => {
setTimeout(() => login({ token: 'askjhkjashdsad', name: 'pd' }), 2000);
}, []);
useEffect(() => {
console.log(isUserActive, getUserToken(), getUserInfo());
}, [isUserActive]);
用于接口请求
用于接口发送请求,携带参数,支持 post,get,delete,put 请求方式,自带刷新列表,自带 loading 等功能
快速开始
const { data, setParams, loading, reload } = useFetchData({
doWhileInit = true, //是否立即触发
url = '', // 请求地址
method = requestMethodTypes.post, // 请求方式
dataProcess,// 获取数据成功后 可选的结果处理函数 (data: any) => any 返回值会被设置为新的data
errorHandler,// 获取数据失败后 可选的错误处理函数 (error: object) => void
successHandler,// 获取数据成功后 可选的回调函数 ,处理异步
params, // 参数对象
});
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
lessEnvironment{
"local_name": "less",
"alias": false,
"peer_metadata": null
} | ^4.1.1 | development |
@babel/preset-envEnvironment{
"local_name": "@babel/preset-env",
"alias": false,
"peer_metadata": null
} | ^7.14.4 | development |
@babel/coreEnvironment{
"local_name": "@babel/core",
"alias": false,
"peer_metadata": null
} | ^7.14.3 | development |
@babel/eslint-parserEnvironment{
"local_name": "@babel/eslint-parser",
"alias": false,
"peer_metadata": null
} | ^7.14.4 | development |
@types/nodeEnvironment{
"local_name": "@types/node",
"alias": false,
"peer_metadata": null
} | ^15.9.0 | development |
@typescript-eslint/eslint-pluginEnvironment{
"local_name": "@typescript-eslint/eslint-plugin",
"alias": false,
"peer_metadata": null
} | ^4.26.0 | development |
@typescript-eslint/parserEnvironment{
"local_name": "@typescript-eslint/parser",
"alias": false,
"peer_metadata": null
} | ^4.26.0 | development |
@testing-library/react-hooksEnvironment{
"local_name": "@testing-library/react-hooks",
"alias": false,
"peer_metadata": null
} | ^7.0.0 | development |
jsdomEnvironment{
"local_name": "jsdom",
"alias": false,
"peer_metadata": null
} | 16.6.0 | development |
jsdom-globalEnvironment{
"local_name": "jsdom-global",
"alias": false,
"peer_metadata": null
} | 3.0.2 | development |
jestEnvironment{
"local_name": "jest",
"alias": false,
"peer_metadata": null
} | ^27.0.4 | development |
ts-jestEnvironment{
"local_name": "ts-jest",
"alias": false,
"peer_metadata": null
} | ^27.0.3 | development |
react-test-rendererEnvironment{
"local_name": "react-test-renderer",
"alias": false,
"peer_metadata": null
} | ^17.0.2 | development |
node-notifierEnvironment{
"local_name": "node-notifier",
"alias": false,
"peer_metadata": null
} | ^10.0.0 | development |
babel-eslintEnvironment{
"local_name": "babel-eslint",
"alias": false,
"peer_metadata": null
} | ^10.1.0 | development |
babel-loaderEnvironment{
"local_name": "babel-loader",
"alias": false,
"peer_metadata": null
} | ^8.2.2 | development |
css-loaderEnvironment{
"local_name": "css-loader",
"alias": false,
"peer_metadata": null
} | ^5.2.6 | development |
enzymeEnvironment{
"local_name": "enzyme",
"alias": false,
"peer_metadata": null
} | ^3.11.0 | development |
@wojtekmaj/enzyme-adapter-react-17Environment{
"local_name": "@wojtekmaj/enzyme-adapter-react-17",
"alias": false,
"peer_metadata": null
} | ^0.6.1 | development |
eslintEnvironment{
"local_name": "eslint",
"alias": false,
"peer_metadata": null
} | ^7.27.0 | development |
eslint-config-airbnbEnvironment{
"local_name": "eslint-config-airbnb",
"alias": false,
"peer_metadata": null
} | ^18.2.1 | development |
eslint-plugin-importEnvironment{
"local_name": "eslint-plugin-import",
"alias": false,
"peer_metadata": null
} | ^2.23.4 | development |
eslint-plugin-jsx-a11yEnvironment{
"local_name": "eslint-plugin-jsx-a11y",
"alias": false,
"peer_metadata": null
} | ^6.4.1 | development |
eslint-plugin-reactEnvironment{
"local_name": "eslint-plugin-react",
"alias": false,
"peer_metadata": null
} | ^7.24.0 | development |
html-webpack-pluginEnvironment{
"local_name": "html-webpack-plugin",
"alias": false,
"peer_metadata": null
} | ^5.3.1 | development |
less-loaderEnvironment{
"local_name": "less-loader",
"alias": false,
"peer_metadata": null
} | ^9.0.0 | development |
prettierEnvironment{
"local_name": "prettier",
"alias": false,
"peer_metadata": null
} | ^2.3.0 | development |
style-loaderEnvironment{
"local_name": "style-loader",
"alias": false,
"peer_metadata": null
} | ^2.0.0 | development |
ts-loaderEnvironment{
"local_name": "ts-loader",
"alias": false,
"peer_metadata": null
} | ^9.2.2 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^4.3.2 | development |
webpackEnvironment{
"local_name": "webpack",
"alias": false,
"peer_metadata": null
} | ^5.38.1 | development |
webpack-cliEnvironment{
"local_name": "webpack-cli",
"alias": false,
"peer_metadata": null
} | ^4.7.0 | development |
webpack-dev-serverEnvironment{
"local_name": "webpack-dev-server",
"alias": false,
"peer_metadata": null
} | ^3.11.2 | development |
Source distribution
{
"integrity": "sha512-D+x/ndGrSKv1DS7t+aZEkqKYRrup1zOyNbk2SfCOcjpTM7J96IQKMem454q5oDdR2SUE6CZ065GdB5R8hNOlvw==",
"shasum": "bdc89a1e43d3ac6e4d711249ca4325221abca72b",
"tarball": "https://registry.npmjs.org/8lab_hooks/-/8lab_hooks-1.0.1.tgz",
"fileCount": 9,
"unpackedSize": 28550,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwX5wCRA9TVsSAnZWagAAOSQP/iahYnfhN0QX2+Uh3IXL\nhz2egqdLnZIHJSIhDa3r09Zwe8VGWBklYoNPcyV8dJwsUo17Q2VewsuY2JId\nvRPg3VJXFXGVAjwbnTHvR8urG/2Xa4KRisVzrgVqK5ugomnWCw5i8P8xulHU\nfzW6gX/FL0f1EZfrsXL6Y2QNE39cw6V3pVqIpq3NQsD1O5TJ/j/3Js7/T4Rz\ng5Bate04Vvghve2KU49j3VDczLuIYI0bWVjCIftdWoXE//U49QWY2dyjrh0/\nFRAh1JpHV7tfttXDZZrJs79+K2yuG+KVcjKf7kmcG/dcPs2BDyskEdbkosxC\nrNoTHidp3CKND5VPsMsmvcJUzfOh78p/bbRVeAdJ5cd4ZMh62+vK8hMm2ytj\nH6YGEyhwkxT/PBe3XvW2uxlbFY0OTRqn92iYoHNJX8/5ux9ekJL/MxzfUGOs\nsirGwIhZv94dR7foz6u0lOenTGfTxRU2aNUMma4W0pcML2EeuBIiDcQYdxtj\ndONorZWkFuBIzXJHib746sL7PnAzx6DPAW6BwRKivcTD7wWMg32zdQEW9FZc\nKvFz3DRkWJEYOJFq/LcSv7q6tcspLbinhbiyFl4B6M+8QpxygKl92b+dQtjQ\nwxqQ97Vpy56j7vDStsIm0xMjrcBJlmtC/4ZArfkjhALQJhLZ3EB0lZ4bk9t/\nAfPX\r\n=8s+N\r\n-----END PGP SIGNATURE-----\r\n",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEUCIEyYFXuLdsUoJOhqPVIo+0mBx6NkjsQ6i7xfnnZTpq2fAiEAySZAy0XRZNFdGHQAmCSDPf+URvLLFUgh1HA7RXlcKRQ="
}
]
}Observed since 20 Oct, 21:24 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:f2f1473db58090baec91a18ab12046a43c0b4fa95a62eefa345efeb45bf851a3