create 3 components
create new context
import {createContext} from 'react';
export const UserContext = createContext();
import context
import {UserContext } from "./"
Provider
<UserContext.Provider value={''}>
</UserContext.Provider>
component context import
import React,{useContext} from 'react'
import {UserContext} from './';
const name = useContext(UserContext)
dispaly the value
{name}
pass the Mutilple Value
<UserContext.Provider value={{ name: '', email: ''}}>
</UserContext.Provider>
UseState Component
import {useState,useEffect} from 'react';
const [names,SetNames] = useState([])
useEffect(() => {
setName(['',''])
}, [])
const displayData = names.map((name, index) =>{
<li key={index}>{name}</li>
}
{displayData}
move the state to app.js
const [names,SetNames] = useState([])
useEffect(() => {
setName(['',''])
}, [])
<UserContext.Provider value={{ names: names}}>
</UserContext.Provider>
change compoent file
import react, {useContext} from 'react';
import {UserContext} from './';
const {names} = useContext(UserContext)
const displayData = names.map((name, index) =>{
<li key={index}>{name}</li>
}
{displayData}
create Provider
export function UsersProvider(props){
const [names,SetNames] = useState([])
useEffect(() => {
setName(['',''])
}, [])
return(
<UserContext.Provider value={{names}}>
{props.childern}
</UserContext.Provider >
)
}
app js
<UsersProvider>
</UsersProvider>