이 글은 React에서 일반적으로 사용되는 몇 가지 기술에 대한 요약(코드)을 제공합니다. 필요한 친구들이 참고할 수 있기를 바랍니다.
1. React-classnames 라이브러리
실제 응용 프로그램에서는 동적 클래스 전환 요구 사항을 더 잘 충족하기 위해 구성 요소 속성의 클래스 이름이 추가되거나 변경되는 경우가 많습니다. , React는 classNames 도구를 제공합니다
安装: npm install classnames --save 引入classnames库: import classnames from 'classnames'
Usage:
1.基本使用 classNames('foo', 'bar'); // => 'foo bar' classNames('foo', { bar: true }); // => 'foo bar' classNames({ 'foo-bar': true }); // => 'foo-bar' classNames({ 'foo-bar': false }); // => '' classNames({ foo: true }, { bar: true }); // => 'foo bar' classNames({ foo: true, bar: true }); // => 'foo bar' // lots of arguments of various types classNames('foo', { bar: true, duck: false }, 'baz', { quux: true }); // => 'foo bar baz quux' // other falsy values are just ignored classNames(null, false, 'bar', undefined, 0, 1, { baz: null }, ''); // => 'bar 1' 2.也可以传入数组对象 var arr = ['b', { c: true, d: false }]; classNames('a', arr); // => 'a b c' 3.可以传入动态class let buttonType = 'primary'; classNames({ [`btn-${buttonType}`]: true });
gitHub
II.qs.parse()를 참조하세요. qs.stringify() 사용법
qs는 npm Warehouse에서 관리하는 패키지입니다( npm install qs 명령 설치합니다. 이미 Dva에 있으므로 설치할 필요가 없습니다.)
는 import qs from 'qs'를 의미합니다.
1. qs.parse()는 URL을 다음 형식으로 구문 분석합니다. 위 코드에 표시된 대로 객체
import Qs from 'qs'; let url = 'method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b-a6006ad3dba0'; Qs.parse(url); console.log(Qs.parse(url));
의 경우 출력 결과는 다음과 같습니다.
{ method:'query_sql_dataset_data', projectId:'85', appToken:'7d22e38e-5717-11e7-907b-a6006ad3dba0' }
2. qs.stringify()는 객체를 URL 형식으로 직렬화하고 &
import Qs from 'qs'; let obj= { method: "query_sql_dataset_data", projectId: "85", appToken: "7d22e38e-5717-11e7-907b-a6006ad3dba0", datasetId: " 12564701" }; Qs.stringify(obj); console.log(Qs.stringify(obj));
로 연결합니다. 출력은 다음과 같습니다.
method=query_sql_dataset_data&projectId=85&appToken=7d22e38e-5717-11e7-907b- a6006ad3dba0&datasetId=%12564701
여기서 stringify 메서드가 JSON에도 존재한다는 점에 유의해야 하지만 두 메서드의 차이점은 아래와 같습니다.
{"uid":"cs11","pwd":"000000als","username":"cs11","password":"000000als"} uid=cs11&pwd=000000als&username=cs11&password=000000als
위와 같이 전자는 JSON.stringify(param)을 사용하고, 후자는 Qs.stringify(param)을 사용하여 처리합니다.
3. Alibaba 글꼴 라이브러리 Iconfont
(1) - 필요한 사진을 찾아 로컬로 다운로드하세요
(2) 공개 색인에서 글꼴 사진을 인용하세요. .html에서 인용:
구성 요소에서
constructor(props) { super(props); this.state = { "userImg": require('../../assets/img/user.png'), "address": require('../../assets/img/address.svg'), }; } <img src={this.state.userImg}/ alt="React에서 일반적으로 사용되는 몇 가지 기술 요약(코드)" >관련 권장 사항:
React 고급 구성 요소 사용 기술 요약
위 내용은 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是组件化开发;组件化是React的核心思想,可以开发出一个个独立可复用的小组件来构造应用,任何的应用都会被抽象成一颗组件树,组件化开发也就是将一个页面拆分成一个个小的功能模块,每个功能完成自己这部分独立功能。

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

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

react中没有双向绑定;react的设计思想就是单向数据流,没有双向绑定的概念;react是view层,单项数据流只能由父组件通过props将数据传递给子组件,满足了view层渲染的要求并且更易测试与控制,所以在react中没有双向绑定。


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

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

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

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
