Skip to content

Commit aef05a7

Browse files
EmilyyyLiu刘欢
andauthored
refactor: Upgrade utils and replace useMergedState (#82)
* refactor: Upgrade utils and replace useMergedState * feat: code style * fix: tsc error * chore: @types/minimatch use 5.1.2 * fix: recover tsconfig --------- Co-authored-by: 刘欢 <[email protected]>
1 parent d06be8a commit aef05a7

File tree

3 files changed

+19
-31
lines changed

3 files changed

+19
-31
lines changed

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
"dependencies": {
4343
"@rc-component/portal": "^2.0.0",
4444
"@rc-component/trigger": "^3.0.0",
45-
"@rc-component/util": "^1.2.1",
45+
"@rc-component/util": "^1.3.0",
4646
"classnames": "^2.3.2"
4747
},
4848
"devDependencies": {
@@ -63,7 +63,8 @@
6363
"rc-test": "^7.1.2",
6464
"react": "^18.3.1",
6565
"react-dom": "^18.3.1",
66-
"typescript": "^5.0.0"
66+
"typescript": "^5.0.0",
67+
"@types/minimatch": "^5.1.2"
6768
},
6869
"peerDependencies": {
6970
"react": ">=16.9.0",

src/Tour.tsx

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Trigger from '@rc-component/trigger';
66
import classNames from 'classnames';
77
import useLayoutEffect from '@rc-component/util/lib/hooks/useLayoutEffect';
88
import useMergedState from '@rc-component/util/lib/hooks/useMergedState';
9+
import useControlledState from '@rc-component/util/lib/hooks/useControlledState';
910
import { useMemo } from 'react';
1011
import { useClosable } from './hooks/useClosable';
1112
import useTarget from './hooks/useTarget';
@@ -63,18 +64,16 @@ const Tour: React.FC<TourProps> = props => {
6364

6465
const triggerRef = React.useRef<TriggerRef>();
6566

66-
const [mergedCurrent, setMergedCurrent] = useMergedState(0, {
67-
value: current,
68-
defaultValue: defaultCurrent,
69-
});
67+
const [mergedCurrent, setMergedCurrent] = useControlledState(
68+
defaultCurrent || 0,
69+
current,
70+
);
7071

71-
const [mergedOpen, setMergedOpen] = useMergedState(defaultOpen, {
72-
value: open,
73-
postState: origin =>
74-
mergedCurrent < 0 || mergedCurrent >= steps.length
75-
? false
76-
: (origin ?? true),
77-
});
72+
const [internalOpen, setMergedOpen] = useControlledState(defaultOpen, open);
73+
const mergedOpen =
74+
mergedCurrent < 0 || mergedCurrent >= steps.length
75+
? false
76+
: (internalOpen ?? true);
7877

7978
// Record if already rended in the DOM to avoid `findDOMNode` issue
8079
const [hasOpened, setHasOpened] = React.useState(mergedOpen);

tsconfig.json

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,11 @@
88
"skipLibCheck": true,
99
"esModuleInterop": true,
1010
"paths": {
11-
"@/*": [
12-
"src/*"
13-
],
14-
"@@/*": [
15-
".dumi/tmp/*"
16-
],
17-
"@rc-component/tour": [
18-
"src/Tour.tsx"
19-
]
11+
"@/*": ["src/*"],
12+
"@@/*": [".dumi/tmp/*"],
13+
"@rc-component/tour": ["src/Tour.tsx"]
2014
}
2115
},
22-
"include": [
23-
".dumirc.ts",
24-
"**/*.ts",
25-
"**/*.tsx"
26-
],
27-
"exclude": [
28-
"node_modules"
29-
]
30-
}
16+
"include": [".dumirc.ts", "**/*.ts", "**/*.tsx"],
17+
"exclude": ["node_modules"]
18+
}

0 commit comments

Comments
 (0)