"小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章。为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.com/ ) 进行学习,及时获取最新文章。
"Code tailor" ,如果您对我们文章感兴趣、或是想提一些建议,微信关注 “小和山的菜鸟们” 公众号,与我们取的联系,您也可以在微信上观看我们的文章。每一个建议或是赞同都是对我们极大的鼓励!
这节我们将教你如何导入 React
并带领你编写出一个简单的 React
页面。
本文会向你介绍以下内容:
React
引入方法Hello React Demo
React
开发必须依赖三个库,分别是:
react
:包含 react
核心代码react-dom
:帮助 react
在各平台渲染的核心代码babel
:将 JSX
转换为 React
代码的工具React
的这三个依赖有以下几种方法进行引入:
CDN
引入,直接使用 script
标签引入远程的 React
核心代码库React
核心代码库,使用本地导入React
从一开始就被设计为逐步采用,并且你可以根据需要选择性地使用 React。对于初学者,我们不建议你直接使用 React
脚手架创建项目,所以在这篇教程的前几章,我们将使用 CDN
引入的方式,减少你对复杂操作的疑惑,先学会 React
和 JSX
语法。
Demo 功能介绍:界面中有一个按钮和一个文本框,当你第一次点击按钮,文本框会从 hello React
变成 hello xhs-rookies
。
<div id="app"></div>
<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>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
这一步将使用到后面需要学习的 JSX
语法和组件写法,暂时你不需要理解这些代码的含义,我们将很快带你学习。
<script type="text/babel">
class App extends React.Component {
constructor() {
super();
this.state = {
message: 'hello React'
}
}
render() {
return (
<div>
<p>{this.state.message}</p>
<button onClick={() => this.setState({message: 'hello xhs-rookies'})}>点我一下</button>
</div>
)
}
}
</script>
此处的 script
标签一定要定义 type
为"text/babel
",这样 babel 将会解析我们所写的 JSX
代码。
ReactDOM.render(<App />, document.getElementById('app'))
综上,你的代码将变成这样
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
<div id="app"></div>
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script type="text/babel">
class App extends React.Component {
constructor() {
super()
this.state = {
message: 'hello React',
}
}
render() {
return (
<div>
<p>{this.state.message}</p>
<button onClick={() => this.setState({ message: 'hello xhs-rookies' })}>
点我一下
</button>
</div>
)
}
}
ReactDOM.render(<App />, document.getElementById('app'))
</script>
</body>
</html>
接下来让我们来看看效果:
这是点击前的页面
这是点击后的页面
恭喜你已经完成了一个简单的 React demo
了。
一、flex-grow、flex-shrink、flex-basis属性 flex-grow: 定义剩余空间的分成。...
最近几年“区块链”一词大火。不论是企业还是个人都想搭上这列快车,走在时代的...
简介: 本文将讨论一种尚未被实践过的方法论,即能否将“增长黑客”理论作用到研...
域名注册 实名制在哪? 域名 的实名认证是在 域名注册 服务商处进行的。在【域名...
复制代码 代码如下: !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional...
TOP云 (west.cn)4月14日消息,据国外媒体报道,两字母 域名 ZZ.COM已于近日被...
laravel-exception-notify - 支持多种通道的 laravel 异常监控通知(钉钉群机器人...
Flutter 作为 Google 开源的新一代跨平台、高性能 UI 框架,旨在帮助开发者高效...
HTML5图片预览需要用到两种方法 1.URL 2.FileReader 直接上代码 复制代码 代码如...
对于网页制作者来说,最烦琐的事情可能就是给页面中的图片或文字加链接了。假如...