ReactJS Hooks: Implementation and Rules.

ReactJS Hooks: Implementation and Rules.

September 9, 2022 Off By Lennon

TABLE OF CONTENT
1. Introduction to ReactJS2. React-Hooks3. Use Hooks4. React5 Hooks Types Basic Hooks6. Additional Hooks7. ReactJS Application Hooks8. Conclusion9. CloudThat 10. FAQs
Introduction to ReactJS
React is one of the most well-known JavaScript libraries. ReactJS is an open source library and frontend JavaScript library that can be used to create UI components for web apps. React’s component-based approach makes application development easier and faster. React is not the Model View Controller (MVC), but it is the “View” component. This library was created and maintained by Facebook. React allows us to create a single page and mobile applications. React uses a component-based approach. This means that we only need to create one component and it can be used everywhere in the app.
React-Hooks
Hooks are functions that “hook” state and lifecycle features with a functional component. Functional components were initially known as stateless components. Most functional components are used only for their functionality. React-Hooks have made it possible to convert functional components into state-managing class components. React hooks manage the state and lifecycle management of functional components. Hooks are not allowed in class components
Use hooks according to the rules
Always use hooks at their highest level. It cannot be used in loops, conditions, and functions.
React Components always calls hooks.
Hooks cannot be called from custom Hooks if the hook name begins with “use” and must contain useState or useEffect hooks.
React Hooks: Types
ReactJS has many Hooks. This blog will cover all the basic hooks as well as a few more. We will also be discussing how to create our own hook, i.e. “Custom Hook”.
Basic Hooks
UseState
UseEffect
UseContext
Additional Hooks
UseReducer
UseCallback
UseMemo
UseRef
ReactJS Application Hooks
Let’s create a ReactJS Web Application. You can do it in a code editor (I am using Visual Studio Code) and then open its terminal to create new projects by typing-
npx Create-React-App Hooks1npx Create-React-App HooksThis will create ReactJS projects.
a. useState()
The useState() hook allows a functional component to create its state. This hook renders the UI when there is a state change. UseState() can be defined as –
const [count] = setCount(0)1const [count] = setState(0)Here this function has the state count and setState is a method to set the state of the count. It accepts the initial state as an argument in the useState() hook.
To demonstrate the usage, open the code editor and create the file “useStateHook.js”, in the “src” folder. Then, write the following code.

Click the click button to call incrementCounter and the count state value will increase.
b. useEffect()
The useEffect() hook can be used to replace class components lifecycle methods. Components can use useEffect after rendering a component to execute logic. We can copy functionality from lifecycle methods like componentDidMount and componentDidUpdate. Because every element needs updated data, useEffect runs before and after the first render. You can modify the additional re-renderings by passing additional arrays.
To demonstrate the usage, open the code editor and create the file “useStateHook.js”, in the “src” folder. Then, write the following code.

Its output will be

After 1 second

If you look at the console, however, you will notice that “Inside useEffect” is triggered twice. This is not ideal behavior as multiple effects can trigger the effect multiple times. It can cause endless loops and freeze your app.

This will optimize the useEffect hook function by passing an empty array as a second argument. It will only trigger useEffect once.

c. useContext()
UseContext hook is