반응 설치
React는 직접 다운로드하여 사용할 수 있으며, 다운로드 패키지에서도 많은 학습 예제가 제공됩니다.
이 튜토리얼은 React 버전 0.14.7을 사용합니다. 공식 웹사이트 http://facebook.github.io/react/에서 최신 버전을 다운로드할 수 있습니다.
PHP 중국어 웹사이트의 React CDN 라이브러리를 직접 사용할 수도 있습니다. 주소는 다음과 같습니다.
<script src="http://static.php.cn/assets/react/react-0.14.7/build/react.min.js"></script> <script src="http://static.php.cn/assets/react/react-0.14.7/build/react-dom.min.js"></script> <script src="http://static.php.cn/assets/react/browser.min.js"></script>
사용 예
다음 예는 Hello, world!
Instance
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>Hello React!</title> <script src="http://static.php.cn/assets/react/react-0.14.7/build/react.min.js"></script> <script src="http://static.php.cn/assets/react/react-0.14.7/build/react-dom.min.js"></script> <script src="http://static.php.cn/assets/react/browser.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') ); </script> </body> </html>
예제를 실행합니다. »
온라인 인스턴스를 보려면 "인스턴스 실행" 버튼을 클릭하세요
예제 분석:
예제에서는 세 개의 라이브러리(react.min.js, React-dom.min.js 및 browser.min.js)를 소개했습니다.
react.min.js - React The 코어 라이브러리
react-dom.min.js - DOM 관련 기능 제공
browser.min.js - JSX 구문을 JavaScript 구문으로 변환하는 데 사용됨
ReactDOM.render( <h1>Hello, world!</h1>, document.getElementById('example') );
위의 코드 삽입 id="example" 노드에 h1 제목을 추가합니다.
참고:
JSX를 사용해야 하는 경우 <script> 태그의 유형 속성을 text/babel로 설정해야 합니다.
npm을 통해 React 사용
시스템이 아직 Node.js 및 NPM을 지원하지 않는 경우 Node.js 튜토리얼을 참조하세요.
React에서는 browserify나 webpack과 같은 CommonJS 모듈 시스템을 사용하는 것이 좋습니다.
첫 번째 단계에서는 전역 패키지를 설치합니다.
$ npm install babel -g $ npm install webpack -g $ npm install webpack-dev-server -g
두 번째 단계에서는 루트 디렉터리를 만듭니다.
디렉토리 이름이 ReactApp인 루트 디렉터리를 만든 다음 npm init를 사용하여 초기화하여 package.json 파일을 생성합니다.
$ mkdir reactApp $ cd reactApp/ $ npm init name: (reactApp) php-react-test version: (1.0.0) description: php中文网 react 测试 entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to /Users/tianqixin/www/reactApp/package.json: { "name": "php-react-test", "version": "1.0.0", "description": "php中文网 react 测试", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } Is this ok? (yes)
세 번째 단계, 종속 패키지 및 플러그인 추가
React를 사용하려면 먼저 React를 설치해야 합니다. --save 명령은 package.json 파일에 패키지를 추가하는 데 사용됩니다.
$ npm install react --save $ npm install react-dom --save
동시에 babel 플러그인
$ npm install babel-core $ npm install babel-loader $ npm install babel-preset-react $ npm install babel-preset-es2015
도 설치해야 합니다. 4단계. 파일 생성
다음으로 필요한 파일을 생성합니다.
$ touch index.html $ touch App.jsx $ touch main.js $ touch webpack.config.js
5단계. 컴파일러, 서버, 로더 설정
webpack.config.js 파일을 열고 다음 코드를 추가합니다.
var config = { entry: './main.js', output: { path:'./', filename: 'index.js', }, devServer: { inline: true, port: 7777 }, module: { loaders: [ { test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel', query: { presets: ['es2015', 'react'] } }] } } module.exports = config;
항목: 패키징 항목 파일 main.js을 지정합니다.
출력: 패키징 결과를 구성하고, 경로는 출력 폴더를 정의하며, 파일 이름은 패키징 결과 파일의 이름을 정의합니다.
devServer: 서버 포트 번호를 7777으로 설정하세요. 포트 뒤에 직접 설정할 수 있습니다.
모듈: 모듈의 처리 논리를 정의합니다. 여기에서 로더를 사용하여 일부 일반 규칙뿐만 아니라 일련의 로더를 정의할 수 있습니다. 로드할 파일이 테스트의 일반 패턴과 일치하면 후속 로더가 호출되어 파일을 처리합니다. 이것이 바로 webpack이 강력한 이유입니다.
이제 package.json 파일을 열고 "scripts"에서 "test" "echo "Error: no test selected" &&exit 1"를 찾아 다음 코드로 바꿉니다.
"start": "webpack-dev-server --hot"
package.json 파일의 내용은 다음과 같습니다.
$ cat package.json { "name": "php-react-test", "version": "1.0.0", "description": "php中文网 react 测试", "main": "index.js", "scripts": { "start": "webpack-dev-server --hot" }, "author": "", "license": "ISC", "dependencies": { "react": "^0.14.7", "react-dom": "^0.14.7" } }
이제 npm start 명령을 사용하여 서비스를 시작할 수 있습니다. --hot 명령은 파일이 변경된 후 다시 로드하므로 변경 사항을 확인하기 위해 코드를 수정한 후 브라우저를 새로 고칠 필요가 없습니다.
6단계, index.html
div id = "app"을 애플리케이션의 루트 요소로 설정하고 index.js 스크립트 파일을 도입합니다.
<!DOCTYPE html> <html> <head> <meta charset = "UTF-8"> <title>React App - php中文网(php.cn)</title> </head> <body> <div id = "app"></div> <script src = "index.js"></script> </body> </html>
7단계, App.jsx 및 main.js
첫 번째 반응 구성 요소입니다. 다음 장에서 React 구성요소를 자세히 소개하겠습니다. 이 구성 요소는 Hello World!!!를 출력합니다.
App.jsx 파일 코드
import React from 'react'; class App extends React.Component { render() { return ( <div> Hello World!!!<br /> 欢迎来到php中文网学习!!! </div> ); } } export default App;
구성 요소를 가져와 루트 요소인 App에 렌더링해야 브라우저에서 볼 수 있습니다.
main.js 파일 코드
import React from 'react'; import ReactDOM from 'react-dom'; import App from './App.jsx'; ReactDOM.render(<App />, document.getElementById('app'))
참고:
구성 요소를 어떤 애플리케이션에서나 사용하려면 생성 후 export를 사용하여 내보내고 파일에서 import를 사용해야 합니다. 컴포넌트를 사용하여 가져옵니다.
8단계, 서비스 실행
위 구성을 완료한 후 서비스를 실행할 수 있습니다.
$ npm start
브라우저를 통해 액세스 http://localhost:7777/, 출력 결과는 다음과 같습니다.
전체 예제 다운로드
위 테스트 예제의 각 파일 코드 다운로드 주소: http://static.php.cn/download/reactApp.zip.