React
一、react 的三種使用方法
1、在 html 中使用 react
(1)、建立並使用 react 元件
<!DOCTYPE html>
<html>
// html 中
<head>
<meta charset="UTF-8" />
<title>第一次使用 react</title>
</head>
<body>
<h2>初識 react</h2>
<!-- 我們將把 React 元件放在這個 div 中。 -->
<div id="like_button_container"></div>
<!-- 載入 React. -->
<!-- 注意: 部署時,將 "development.js" 替換為 "production.min.js"。 -->
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin> </script>
<!-- 載入我們的 React 元件。 -->
<script src="like_button.js"></script>
<!-- 本HTML的JS程式碼應該放在這裡 -->
<script>
</script>
</body>
</html>
react 的元件中:
// like_button.js
"use strict"
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return '前路浩浩蕩蕩';
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'點我有喜'
);
}
}
const domContainer = document.querySelector('#like_button_container');
ReactDOM.render(e(LikeButton), domContainer);
(2)、重用 react 元件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>第二次使用 react</title>
</head>
<body>
<p>
first
<div class="like_button_container" data-commentid="1"></div>
</p>
<p>
second
<div class="like_button_container" data-commentid="2"></div>
</p>
<p>
third
<div class="like_button_container" data-commentid="3"></div>
</p>
<script src="https://unpkg.com/react@17/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@17/umd/react-dom.development.js" crossorigin></script>
<!-- 載入我們的 React 元件。 -->
<script src="like_button.js"></script>
</body>
</html>
react 的元件中:
// like_button.js
'use strict';
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return ' ' + this.props.commentID;
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'告訴你個祕密'
);
}
}
// 找到所有的DOM容器,並像按鈕一樣呈現在其中。
document.querySelectorAll('.like_button_container')
.forEach(domContainer => {
// 從data-*屬性中讀取註釋ID。
const commentID = parseInt(domContainer.dataset.commentid, 10);
ReactDOM.render(
e(LikeButton, { commentID: commentID }),
domContainer
);
});
2、結合 JSX 使用 react
3、通過工具使用 react
相關文章
- React篇章-React 元件React元件
- React List - React RouterReact
- react之react HooksReactHook
- 【react】React 18新特性React
- 【React】React教程視訊React
- React - React 中使用 ReduxReactRedux
- 精益 React 學習指南 (Lean React)- 4.2 react patternsReact
- react解析 React.Children(二)React
- react解析 React.createElement(一)React
- 【React深入】React事件機制React事件
- 重拾React: React 16.0React
- (React啟蒙)理解React 元件React元件
- react篇章-React 元件-複合元件React元件
- React Native / React除錯技巧React Native除錯
- React: 關於React通訊方式React
- React筆記:React基礎(2)React筆記
- 萬字血書React—走近ReactReact
- React入門---react腳手架React
- React + Mobx構建React-CnodeReact
- 00、React系列之--React 系列概述React
- react元件(react-grid-gallery)React元件
- React 深入系列7:React 常用模式React模式
- React import React 無效問題ReactImport
- 00、React系列之 React 系列概述React
- React基礎及React專案React
- react原始碼淺析(四):react-isReact原始碼
- React UI 庫: React Suite 3.8.0 版本更新ReactUI
- React原始碼解析(二):react-elementReact原始碼
- React學習(1)-create-react-appReactAPP
- react js學習手記:react 事件ReactJS事件
- 使用react-hook 替代 react-reduxReactHookRedux
- react/react-native效能優化React優化
- webpack4+react16+react-router4WebReact
- React初識整理(四)–React Router(路由)React路由
- React 入門-redux 和 react-reduxReactRedux
- react搭建後臺管理(react初窺)React
- [react] hooksReactHook
- react hookReactHook