-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
…indirectly (facebook#21996) ## Summary Adds a new unit test to `parseHookNames-test` which verifies that we correctly give names to hooks when they are used indirectly: e.g. ``` const countState = useState(0); const count = countState[0]; const setCount = countState[1]; ``` Should produce `count` as the name. ## Test plan ``` yarn test yarn test-build-devtools yarn test-build-devtools parseHookNames ```
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
/** | ||
* Copyright (c) Facebook, Inc. and its affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
* | ||
* @flow | ||
*/ | ||
|
||
import React, {useEffect, useState} from 'react'; | ||
|
||
export function Component() { | ||
const countState = useState(0); | ||
const count = countState[0]; | ||
const setCount = countState[1]; | ||
|
||
const darkMode = useIsDarkMode(); | ||
const [isDarkMode] = darkMode; | ||
|
||
useEffect(() => { | ||
// ... | ||
}, []); | ||
|
||
const handleClick = () => setCount(count + 1); | ||
|
||
return ( | ||
<> | ||
<div>Dark mode? {isDarkMode}</div> | ||
<div>Count: {count}</div> | ||
<button onClick={handleClick}>Update count</button> | ||
</> | ||
); | ||
} | ||
|
||
function useIsDarkMode() { | ||
const darkModeState = useState(false); | ||
const [isDarkMode] = darkModeState; | ||
|
||
useEffect(function useEffectCreate() { | ||
// Here is where we may listen to a "theme" event... | ||
}, []); | ||
|
||
return [isDarkMode, () => {}]; | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.