React implements multi-component value transfer function through conetxt

React implements multi-component value transfer function through conetxt

The effect of this function is similar to vue的provide/inject
React can be done through context

insert image description here

Define a public file context/Theme.jsx

import { createContext } from 'react';
const theme = createContext()
export default theme

The parent component imports public files and child components and passes theme值

import React, { useState } from 'react';
import Child from "@/components/Child.jsx"
import Theme from "@/context/Theme.jsx"
export default () => {
    const [theme, setTheme] = useState("blue")
    return (
        <>
            <button onClick={() => setTheme("green")}>Check if context is responsive</button>
            <Theme.Provider value={theme}>
                <Child />
            </Theme.Provider>
        </>
    )
}

Child component gets data components/Child.jsx

import React from 'react';
import Theme from "@/context/Theme.jsx"
export default () => {
    return (
        <Theme.Consumer>
            {data => <p>Receive the value passed by the parent component context: {data}</p>}
        </Theme.Consumer>
    );
}

This concludes this article about React’s multi-component value transfer through conetxt. For more information about React’s multi-component value transfer, please search 123WORDPRESS.COM’s previous articles or continue browsing the following related articles. I hope you will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Detailed explanation of the relationship between React component value passing
  • Three ways to pass values ​​in react components
  • Detailed explanation of value transfer between Vue and React components
  • React method of passing values ​​between parent and child components
  • React child component transfers value to parent component

<<:  CSS techniques for achieving multi-column equal height layout that the front end should master

>>:  How to make ApacheBench support multi-url

Recommend

MySQL 5.6.33 installation and configuration tutorial under Linux

This tutorial shares the installation and configu...

How to use nginx to simulate canary release

This article introduces blue-green deployment and...

How to use Nginx to realize the coexistence of multiple containers in the server

background There is a Tencent Linux cloud host, o...

Introduction to JavaScript strict mode use strict

Table of contents 1. Overview 1.1 What is strict ...

How to monitor array changes in Vue

Table of contents Preface Source code Where do I ...

The process of using vxe-table to make editable tables in vue

There is a table in the project that needs to be ...

Linux tac command implementation example

1. Command Introduction The tac (reverse order of...

How to manage multiple projects on CentOS SVN server

One demand Generally speaking, a company has mult...

Install OpenSSL on Windows and use OpenSSL to generate public and private keys

1. OpenSSL official website Official download add...

Introduction to Semantic HTML Tags

In the past few years, DIV+CSS was very popular in...

Share MySql8.0.19 installation pit record

The previous article introduced the installation ...

CSS element hiding principle and display:none and visibility:hidden

1. CSS element hiding <br />In CSS, there ar...

Not all pop-ups are rogue. Tips on designing website pop-ups

Pop-up news is common in domestic Internet servic...