×

React Js

The World's best Software Development Study Portal

ContextAPI

ContextAPI with Examples

ContextAPI provides a way to pass data through the component tree without having to pass props down manually at every level

CreateContext

Context.Provider

Context.consumer

UseContext

Using ContextAPI

App.js

import React, { createContext } from 'react'; import ComA from './ComA'; const FirstName = createContext(); const LastName = createContext(); const App = () => { return( <> <FirstName.Provider value={"Deepak"}> <LastName.Provider value={"Kumar"}> <ComA/> </LastName.Provider> </FirstName.Provider> </> ); }; export default App; export { FirstName, LastName }; --------------------------------------------------------------------------------------------------------------------------------------------------------------

ComA.js

import React from 'react' import ComB from './ComB'; const ComA = () => { return <ComB/> }; export default ComA; ..........................................................................

ComB.js

import React,{ useContext } from 'react' import ComC from './ComC'; const ComB = () => { return <ComC/> }; export default ComB; ..................................................................

ComC.js

import React from 'react'; import { FirstName, LastName } from './App'; const ComC = () => { return ( <> <FirstName.Consumer> {(fname) => { return ( <LastName.Consumer> {(lname) => { return ( <h1>My name is {fname} {lname}</h1> ); }} </LastName.Consumer> ); }} </FirstName.Consumer> </> ); }; export default ComC; .......................................................................

UseContext

ComB.js

import React,{ useContext } from 'react' import { FirstName, LastName } from './App'; const ComB = () => { const fname = useContext(FirstName); const lname = useContext(LastName); return( <h1> My name is {fname} {lname} </h1> ); }; export default ComB; ................................. If you use useContext API then you don't need of contextConsumer API.(ComC not required)