西北马二最代码的gravatar头像
西北马二最代码 2017-07-31 08:25:17
react与redux学习1
1、

1.1、安装集成几种配置的应用create-react-app:

npm inastall --global create-react-app

     安装成功后,在命令行中运行以下的命令:

create-react-app first_react_app

     在Windows环境下,此时输入的命令行应该为:

.\create-react-app first_react_app

     根据提示,在create-react-app命令一大段文字输出后,根据提示,输入下面的命令:

cd first_react_app

npm start

      这个命令会启动一个开发模式的服务器,同时也会让你的浏览器自动打开了一个网页,指向本机地址http://localhost:3000/.

1.2、继续学习,增加一个新的react组件

         react的首要思想是通过组件(component)来开发应用。所谓组件,简单说,指的是能完成某个特定功能的独立的,可重用的代码。

         create-react-app所创建的应用入口是src/index.js文件,其代码为:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';

ReactDOM.render(<App />, document.getElementById('root'));

         这个应用所做的事情,只是渲染一个名叫App的组件,App组件在同目录下的App.js文件中定义。

         接下来我们重新定义一个能够计算点击数组件,名叫ClickCounter,所以我们进行index.js文件的修改:

import React from 'react';
import ReactDOM from 'react-dom';
import ClickCounter from './ClickCounter';    //使用import导入了ClickCounter组件,代替了之前的App组件
import './index.css';


ReactDOM.render(
	<App />,
	 document.getElementById('root')
);

         接下来,在src目录下新增一个代码文件ClickCounter.js,代码如下:

import React, {Component} from 'react';  //从react库中引入React和Component,Component作为所有组件的基类,提供了很多组件共有的功能
class ClickCounter extends Component{   //这行代码,使用ES6语法创建了一个叫做ClickCounter的组件类,而其父类就是Component.
	constructor(props){
		super(props);
		this.onClickButton=this.onClickButton.bind(this);
		this.state={count:0};
	}

	onClickButton(){
		this.setState({count:this.state.count+1});
	}

	render(){
		return(
			<div>
				<button onClick={this.onClickButton}>Click Me</button>
				<div>
					Click Count:{this.state.count}
				</div>
			</div>
	    );
	}
}
export default ClickCounter;

         此时,回到之前浏览器自行打开的那个页面,你会发现之前的logo图标已经变成了一个按钮,当你点击这个按钮时,页面上就会显示你点击的次数,好吧,此时我们第一个有交互性的组件已经构建完毕,我们继续往下学习。

        注:一些ES6的新的语法有可能不被一些浏览器所支持,但是在create-react-app中,这些不被支持的比如说import,已经被webpack和Babel所转化为ES5中被各大浏览器支持的语法。

        1.2.1、认识JSX:

                   所谓JSX,就是JavaScript的语法扩展,让我们可以在JavaScript中可以编写像HTML一样的代码。render函数中,就存在着JSX代码。

                 深入理解JSX:

                   首先,在JSX中使用的”元素“不局限于HTML元素,它还可以是任何一个React组件;React判断一个元素是HTML元素还是React组件的原则就是看第一个字母是否大写,如果是大写,可以被识别,否则,则得不到我们想要得到的结果,比如之前使用的ClickCounter,如果写成clickCounter,就是无法被识别的组件。

                   其次,在JSX中可以通过onClick这样的方式给一个元素添加一个事件处理函数。

                   React组件可以把JavaScript、css、HTML的功能封装在一个文件中,实现真正的组件封装。

未完待续!!!

 

 

 

 

 

 

 

 

 

 

 

 

 


打赏
最近浏览
西北马二最代码  LV15 2017年7月31日
最代码官方  LV167 2017年7月31日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友