Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 16, 2023 07:39 am GMT

React v18.0

React is a JavaScript library for rendering user interfaces (UI). UI is built from small units like buttons, text, and images. React lets you combine them into reusable, nestable components. From web sites to phone apps, everything on the screen can be broken down into components. In this chapter, youll learn to create, customize, and conditionally display React components.

React 18 features

React v18 reference api

Built-in React Hooks
Hooks let you use different React features from your components. You can either use the built-in Hooks or combine them to build your own. This page lists all built-in Hooks in React.

State Hooks
State lets a component remember information like user input. For example, a form component can use state to store the input value, while an image gallery component can use state to store the selected image index.

To add state to a component, use one of these Hooks:

useState
declares a state variable that you can update directly.

useReducer
declares a state variable with the update logic inside a reducer function.

Context Hooks
Context lets a component receive information from distant parents without passing it as props. For example, your apps top-level component can pass the current UI theme to all components below, no matter how deep.

useContext
reads and subscribes to a context.

Ref Hooks
Refs let a component hold some information that isnt used for rendering, like a DOM node or a timeout ID. Unlike with state, updating a ref does not re-render your component. Refs are an escape hatch from the React paradigm. They are useful when you need to work with non-React systems, such as the built-in browser APIs.

useRef
declares a ref. You can hold any value in it, but most often its used to hold a DOM node.

useImperativeHandle
lets you customize the ref exposed by your component. This is rarely used.

Effect Hooks
Effects let a component connect to and synchronize with external systems. This includes dealing with network, browser DOM, animations, widgets written using a different UI library, and other non-React code.

Effects are an escape hatch from the React paradigm. Dont use Effects to orchestrate the data flow of your application. If youre not interacting with an external system, you might not need an Effect.

There are two rarely used variations of useEffect with differences in timing:

useLayoutEffect
fires before the browser repaints the screen. You can measure layout here.

useInsertionEffect
fires before React makes changes to the DOM. Libraries can insert dynamic CSS here.
Performance Hooks
A common way to optimize re-rendering performance is to skip unnecessary work. For example, you can tell React to reuse a cached calculation or to skip a re-render if the data has not changed since the previous render.

To skip calculations and unnecessary re-rendering, use one of these Hooks:

useMemo
lets you cache the result of an expensive calculation.

useCallback
lets you cache a function definition before passing it down to an optimized component.

Sometimes, you cant skip re-rendering because the screen actually needs to update. In that case, you can improve performance by separating blocking updates that must be synchronous (like typing into an input) from non-blocking updates which dont need to block the user interface (like updating a chart).

To prioritize rendering, use one of these Hooks:

useTransition
lets you mark a state transition as non-blocking and allow other updates to interrupt it.

useDeferredValue
lets you defer updating a non-critical part of the UI and let other parts update first.
Other Hooks
These Hooks are mostly useful to library authors and arent commonly used in the application code.

useDebugValue
lets you customize the label React DevTools displays for your custom Hook.

useId
lets a component associate a unique ID with itself. Typically used with accessibility APIs.

useSyncExternalStore
lets a component subscribe to an external store.


Original Link: https://dev.to/devsahil/react-v180-3942

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To