Skip to content

Commit 3241ca1

Browse files
MuYunyunmujue
authored and
mujue
committed
docs: update docs
1 parent 3d7335e commit 3241ca1

File tree

5 files changed

+21
-4
lines changed

5 files changed

+21
-4
lines changed

src/tasks/hooks/index.js

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import useInterval from "./useInterval"
2+
import useForceUpdate from "./useForceUpdate"
3+
4+
export { useInterval, useForceUpdate }

src/tasks/hooks/useForceUpdate.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import React from "react"
2+
3+
const { useReducer } = React
4+
5+
function useForceUpdate() {
6+
return useReducer((n) => n + 1, 0)[1]
7+
}
8+
9+
export default useForceUpdate

src/useInterval.js renamed to src/tasks/hooks/useInterval.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
import React, { useState, useRef, useEffect } from "react"
1+
import React from "react"
2+
3+
const { useRef, useEffect } = React
24

35
export default function useInterval(callback, delay) {
46
const cbRef = useRef({})
@@ -12,4 +14,4 @@ export default function useInterval(callback, delay) {
1214

1315
return () => clearInterval(id)
1416
}, [delay])
15-
}
17+
}

src/tasks/task3_if_rule.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
/* eslint-disable no-unused-vars */
22
import React from "react"
3+
import { useForceUpdate } from "./hooks"
34

45
const { useState, useEffect, useReducer } = React
56

6-
// common case
7+
// Only Call Hooks at the Top Level.
8+
// Don’t call Hooks from regular JavaScript functions.
79
function RuleCase() {
8-
const [value, forceUpdate] = useReducer((n) => n + 1, 0)
10+
const forceUpdate = useForceUpdate()
911
const [a, setA] = useState(1)
1012
if (Math.floor(Math.random() * 100) > 50) {
1113
useEffect(() => {

src/useTimer.js

Whitespace-only changes.

0 commit comments

Comments
 (0)