React에서 컨텍스트는 데이터를 공유하는 데 사용되며 데이터가 여러 세대에 걸쳐 전달될 수 있도록 합니다. 컨텍스트는 구성 요소 트리를 계층별로 명시적으로 전달하지 않고도 구성 요소 간에 데이터를 공유하는 새로운 방법을 제공하므로 많은 사용을 피할 수 있습니다. 값을 전달하기 위해 반복되는 소품.
이 튜토리얼의 운영 환경: Windows 10 시스템, 반응 버전 17.0.1, Dell G3 컴퓨터.
반응에서 컨텍스트의 사용법은 무엇입니까?
컨텍스트는 구성 요소 간에 데이터를 공유하는 새로운 방법을 제공하여 구성 요소 트리를 통해 계층별로 소품을 명시적으로 전달할 필요 없이 여러 세대에 걸쳐 데이터를 전달할 수 있습니다.
Context는 구성 요소 트리의 각 수준을 통해 props를 명시적으로 전달하지 않고도 구성 요소 간에 값을 공유하는 방법을 제공합니다. 값을 얻는 단계와 사용하는 단계가 멀거나, 이 값을 사용해야 하는 컴포넌트가 많고 분산되어 있는 경우 Context를 사용하여 데이터를 공유하고 값을 전달하기 위해 많은 수의 반복되는 prop을 사용하는 것을 피할 수 있습니다. 하나의 컴포넌트만 이 값을 사용해야 하는 경우 값이 생성된 위치에 컴포넌트를 생성한 다음 props를 사용하여 컴포넌트가 실제로 표시되는 위치에 레이어별로 전달하면 됩니다.
기본 사용법
1. Custom Context
import React from 'react'; const ThemeContext = React.createContext('light'); export default ThemeContext;
위 코드는 ThemeContext를 정의하며 기본값은 'light'입니다.
2. 필요한 곳에 Context Provider를 사용하세요
import ThemeContext from './context/ThemeContext.js'; import ThemedButton from './ThemedButton.js'; import './App.css'; function App() { return ( <ThemeContext.Provider value='dark'> <div className="App"> <header className="App-header"> <ThemedButton /> </header> </div> </ThemeContext.Provider> ); } export default App;
구성 요소의 가장 바깥쪽 레이어에서 사용자 정의 Context Provider를 사용하고 값을 전달하여 기본값을 덮어씁니다. 그 후 하위에서 읽은 ThemeContext의 값을 덮어씁니다. -컴포넌트는 기본값 'light' 대신 'dark'입니다. Provider에 값 정의가 있는 경우 값의 값이 사용됩니다(값이 정의되지 않은 경우, 즉 값이 전달되지 않은 경우에도). 정의의 기본값은 Provider가 제공하지 않는 경우에만 사용됩니다. 그것.
3. contextType을 정의하고 얻은 Context의 값을 사용합니다.
import React, { Component } from 'react'; import ThemeContext from "./context/ThemeContext.js"; class ThemedButton extends Component { static contextType = ThemeContext; render() { return <button>{this.context}</button>; } } export default ThemedButton;
ThemedButton은 contextType이 ThemeContext라고 선언하므로 this.context의 값은 가장 가까운 ThemeContext에서 제공하는 값인 'light'입니다.
렌더링:
추천 학습: "react 비디오 튜토리얼"
위 내용은 반응에서 컨텍스트의 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

在react中,canvas用于绘制各种图表、动画等;可以利用“react-konva”插件使用canvas,该插件是一个canvas第三方库,用于使用React操作canvas绘制复杂的画布图形,并提供了元素的事件机制和拖放操作的支持。

在react中,antd是基于Ant Design的React UI组件库,主要用于研发企业级中后台产品;dva是一个基于redux和“redux-saga”的数据流方案,内置了“react-router”和fetch,可理解为应用框架。

React不是双向数据流,而是单向数据流。单向数据流是指数据在某个节点被改动后,只会影响一个方向上的其他节点;React中的表现就是数据主要通过props从父节点传递到子节点,若父级的某个props改变了,React会重渲染所有子节点。

因为在react中需要利用到webpack,而webpack依赖nodejs;webpack是一个模块打包机,在执行打包压缩的时候是依赖nodejs的,没有nodejs就不能使用webpack,所以react需要使用nodejs。

在react中,forceupdate()用于强制使组件跳过shouldComponentUpdate(),直接调用render(),可以触发组件的正常生命周期方法,语法为“component.forceUpdate(callback)”。

react是组件化开发;组件化是React的核心思想,可以开发出一个个独立可复用的小组件来构造应用,任何的应用都会被抽象成一颗组件树,组件化开发也就是将一个页面拆分成一个个小的功能模块,每个功能完成自己这部分独立功能。

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。

react和reactdom的区别是:ReactDom只做和浏览器或DOM相关的操作,例如“ReactDOM.findDOMNode()”操作;而react负责除浏览器和DOM以外的相关操作,ReactDom是React的一部分。


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
