This example shows a custom hook useToggle that manages a boolean state. The component ToggleComponent uses it to switch between ON and OFF states when the button is clicked.
Always start hook names with use so React can check rules of hooks.
Keep hook names descriptive but short to explain what they do.
Do not call hooks conditionally or inside loops to avoid bugs.
Summary
Hook names must start with use.
Use camelCase after use for readability.
Good names help understand and reuse hook logic easily.
Practice
(1/5)
1. Which of the following is the correct way to name a custom React hook?
easy
A. fetchDataHook
B. Usefetchdata
C. useFetchData
D. fetch_data
Solution
Step 1: Check the hook prefix
React hooks must start with the word use to be recognized as hooks.
Step 2: Verify camelCase naming
After use, the name should be camelCase for readability, like useFetchData.
Final Answer:
useFetchData -> Option C
Quick Check:
Hook names start with 'use' + camelCase [OK]
Hint: Hook names always start with 'use' and use camelCase [OK]
Common Mistakes:
Not starting the name with 'use'
Using underscores or all lowercase
Capitalizing the first letter after 'use'
2. Which of these is a syntax error when naming a React hook?
easy
A. useDataLoader
B. use_data_loader
C. useDataLoaderHook
D. useData
Solution
Step 1: Identify invalid characters in hook names
React hook names cannot contain underscores; they must use camelCase after 'use'.
Step 2: Check each option for syntax correctness
use_data_loader uses underscores which is invalid syntax for hook names.
Final Answer:
use_data_loader -> Option B
Quick Check:
Underscores are not allowed in hook names [OK]
Hint: Avoid underscores; use camelCase after 'use' [OK]
Common Mistakes:
Using underscores in hook names
Starting hook names with uppercase 'Use'
Adding spaces or special characters
3. What will happen if you name a custom hook as fetchData instead of useFetchData?
medium
A. React will automatically rename it to start with 'use'
B. React will throw a syntax error
C. The hook will work normally without issues
D. React will treat it as a normal function, not a hook
Solution
Step 1: Understand React hook naming rules
React identifies hooks by names starting with 'use'. If it doesn't start with 'use', React treats it as a normal function.
Step 2: Analyze the effect of naming it 'fetchData'
Since 'fetchData' does not start with 'use', React will not recognize it as a hook and will not apply hook rules.
Final Answer:
React will treat it as a normal function, not a hook -> Option D
Quick Check:
Hook names must start with 'use' to be recognized [OK]
Hint: Hooks must start with 'use' or React ignores them [OK]
Common Mistakes:
Assuming any function can be a hook
Expecting React to auto-fix hook names
Confusing hook naming with component naming
4. Identify the error in this hook name: UseDataFetch
medium
A. Hook names must start with lowercase 'use', not uppercase 'Use'
B. Hook names must be all lowercase
C. Hook names cannot contain the word 'Data'
D. Hook names must end with 'Hook'
Solution
Step 1: Check the hook prefix case sensitivity
React requires hooks to start with lowercase 'use' exactly, not uppercase 'Use'.
Step 2: Analyze the given name
The name 'UseDataFetch' starts with uppercase 'U', which breaks the naming convention and causes React not to recognize it as a hook.
Final Answer:
Hook names must start with lowercase 'use', not uppercase 'Use' -> Option A
Quick Check:
Hook prefix 'use' is case-sensitive and must be lowercase [OK]
Hint: Hook prefix 'use' must be lowercase exactly [OK]
Common Mistakes:
Capitalizing the 'U' in 'use'
Adding unnecessary suffixes like 'Hook'
Thinking hook names must be all lowercase
5. You want to create a custom hook that fetches user info and caches it. Which name best follows React hook naming conventions and clearly describes its purpose?
hard
A. useUserInfoCache
B. userInfoCacheHook
C. use_user_info_cache
D. UseUserInfoCache
Solution
Step 1: Confirm the hook prefix and casing
The name must start with lowercase 'use' and use camelCase for readability.
Step 2: Evaluate each option for clarity and correctness
useUserInfoCache, 'useUserInfoCache', starts with 'use', uses camelCase, and clearly describes the hook's purpose.
Final Answer:
useUserInfoCache -> Option A
Quick Check:
Clear, camelCase, and starts with 'use' [OK]
Hint: Start with 'use' + camelCase + clear purpose [OK]
Common Mistakes:
Using underscores instead of camelCase
Starting with uppercase 'Use'
Omitting the 'use' prefix
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.