React入门以及JSX语法理解
来源:互联网 发布:人工智能电影观看 编辑:程序博客网 时间:2024/05/28 01:34
本周主要利用React以及JSX语法外加antd UI组件实现一个增加删除数据的页面,一开始上手这个东西挺难的,因为之前没有接触过React框架这些东西,一开始觉得有点无从下手。不过经过一周的努力和适应,差不多完成了整个需求,下来做一个总结。
React框架
React有一点与Vue是相似的,都是通过数据来渲染页面的,也就是说改变数据就可以改变页面的呈现。但不同的是,Vue直接改变数据,而 React则是通过改变状态来触发重新渲染的。
比如下面一个例子:
<div id="example"></div><script type="text/babel"> ReactDOM.render( <h1>Hello, Hellen</h1>, document.getElementById('example') )</script>
注意,在这之前,要引入react的CDN库,可以自行在网上找。
另一种方法,就是利用react-create-app快速构建React开发环境,可以参考React 教程
来看一个简单的例子:
//在最前面先把需要的模块import进来后面才能用。import React, { Component } from 'react';import './App.css';class App extends Component {//上面属于ES6的语法,即继承于React 组件Component的一个类App,可以认为它也是一个组件。最后export暴露出接口之后,外面可以通过<App />这种结构来使用。 //每个类默认有一个constructor构造器 //这里还需要注意,React是通过改变状态来驱动数据变化,从而触发render函数重新渲染的。因此,一开始可以定义一个状态 constructor(props) { super(props); this.state = { count: 1 } } //当点击事件触发后,通过this.setState({})具体改变状态的某个值,从而使得整个状态改变,触发render函数重新渲染。 clickFunc = () => { let count = this.state.count; count = count + 1; this.setState({ count : count }); //但是,打印出当前状态时,却发现状态中的count总会滞后一个数。 //原因其实是因为this.setState()函数是异步的,他不会立即执行,所以此时获取的count还是原来状态中的count。 console.log(this.state.count); } render() { const data = this.state.count; return ( //JSX 语法,通俗点讲,就是在JS代码中嵌入了HTML代码,并且是有效的。需要注意的是,变量都需要用{}来扩起来; //另一方面,要添加样式时,类名需要写成classname。 <div className="box" onClick={this.clickFunc}> {data} </div> ) }}export default App;
JSX语法
JSX语法其实就相当于是HTML和JS的混合,JS里面可以融入HTML代码,在HTML代码里也可以融入JS代码,但是要用{ }
括起来。
为什么JSX语法可以起作用呢?你需要先装Babel工具,他会把JSX代码转换成JS语法。
上面的例子中
return (//JSX 语法,通俗点讲,就是在HTML代码中嵌入了JS代码,并且是有效的。需要注意的是,变量都需要用{}来扩起来;//另一方面,要添加样式时,类名需要写成className。 <div className="box" onClick={this.clickFunc}> {data} </div>)
上面部分就是JSX语法,注意,JSX语法必须写在script
标签里面,并且type
要设置为text/babel
。
JSX 语法主要的好处就是用起来非常简洁方便,而且性能也要好一些,因为JSX实际上是要转成原生JS的,一般是有工具的,比如Babel等等,转的过程中会对JS进行一些优化。
阅读全文
0 0
- React入门以及JSX语法理解
- React入门:关于JSX语法
- React入门:关于JSX语法
- React Native入门:关于JSX语法
- React入门狂想曲(二)-JSX语法
- React之JSX语法
- React(2) JSX语法
- React之JSX语法
- React之JSX语法
- react jsx语法
- React Native入门学习笔记三(JSX语法)
- React之JSX入门
- React 入门-JSX
- react demo2 (JSX入门)
- react 入门-JSX
- React入门笔记(一) — 深入理解JSX
- React入门笔记(一) — 深入理解JSX
- JSX语法入门
- Machine Learning in action –kNN(已勘误)
- 百练2800:垂直直方图题解
- 在部署WebRTC的时候什么时候使用TURN
- MOOC清华《程序设计基础》第8章第2题:从文件读取二进制、按位异或
- Java Mail邮件发送
- React入门以及JSX语法理解
- Android开发 第四课 AutoCompleteTextView和MultiAutoCompleteTextView
- 对Tensorflow整体的理解介绍
- WebRTC实时通信系列教程4 从摄像头获取视频流
- js动画效果(贴一个完整的代码,附js文件写法)
- POJ2406 Power Strings(KMP)
- j2me 如何优化内存?
- 树的先序遍历、中序遍历、后续遍历的递归与循环详解
- HashMap源码解析