=> Here Folder Structure image here:
Index.js Code:-_
import React from 'react'; import ReactDOM from 'react-dom/client'; import App from './App'; const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <App /> </React.StrictMode> )
App.js Code:-
import React, { Component } from 'react' import User from './User' import { Provider1 } from './Context' export default class App extends Component { state = { name: 'Rahul', value: 10 } handleClickContext = () => { this.setState({ value: this.state.value + 1 }) } render() { const contextValue = { data: this.state, handleClick: this.handleClickContext } return ( // <myContext.Provider value={this.state.name}> <Provider1 value={contextValue}> <User /> </Provider1> ) } }
User.js Code:
import React, { Component } from 'react' import Guest from './Guest' export default class User extends Component { render() { return ( <div> <h3>User component</h3> <Guest /> </div> ) } }
Guest.js Code:
import React, { Component } from 'react' import { Consumer1 } from './Context' export default class Guest extends Component { render() { return ( <div> <h3>Guest Component</h3> <Consumer1> {({ data, handleClick }) => <> <h4>{data.name}</h4> <h4>{data.value}</h4> <button onClick={handleClick}>Change Value</button> </> } </Consumer1> </div> ) } }
Context.js Code:
import React from 'react' const myContext1 = React.createContext(); export const Provider1 = myContext1.Provider; export const Consumer1 = myContext1.Consumer;
Top comments (0)