React入门

箭头函数与普通函数区别

   箭头函数:()=>{}没有自己的this,它使用的this是其外部环境的this
    普通函数:function() {},有自己的this,它的this是在运行时指定的,可通过call,apply,bind去改变

 call和apply在传参形式上不同
 bind与call和apply不同之处在返回值不同,bind是直接返回函数本身,后面再加一个小括号才表示调用,而call和apply是直接执行

React:
React 起源于 Facebook ,诞生说2013,4
React主要用于构建UI。你可以在React里传递多种类型的参数,如声明代码,帮助你渲染出UI、也可以是静态的HTML DOM元素、也可以传递动态变量、甚至是可交互的应用组件。
特点:
1.声明式设计:React采用声明范式,可以轻松描述应用。
2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
3.灵活:React可以与已知的库或框架很好地配合。

React:核心文件
React-DOM:是将虚拟DOM最终构建成真实DOM,并最终渲染到页面上的技术

建议使用:vs code

一、安装React
1.第一种安装,用script引入方式(不推荐)
<script src="https://unpkg.com/react@16.4.2/umd/react.development.js"></script>
<script src="https://unpkg.com/react-dom@16.4.2/umd/react-dom.development.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/6.26.0/babel.min.js"></script>

<script>

function Header() {

    return <div>我是头部</div>
}

//ReactDOM.render(要渲染的内容,要渲染到哪里);

 ReactDOM.render(<Header />,document.getElementById('app'));

</script>

如果安装npm慢,换成淘宝镜像
npm的镜像替换成淘宝
1.得到原本的镜像地址

npm get registry

https://registry.npmjs.org/

设成淘宝的

npm config set registry http://registry.npm.taobao.org/

2.用create-react-app脚手架搭建项目

 npm install create-react-app -g

 create-react-app  项目名

jsx 标签快速添加语法:
解决
这个其实vs code是支持的,只是默认设置不支持,需要手动设置一下,设置步骤:

点击左下角“设置”
搜emmet
设置如下属性
"emmet.triggerExpansionOnTab": true

  1. 定义一个react组件:

1.函数组件

 function Header () {
     return <div>1603A</div>
}

ReactDOM.render(<Header />, document.getElementById('app'));

2.类组件:

import React,{Component} from 'react';

  class  类名  extends  React.Component
      {

    render() {

              return (<div></div>);

        }

    }

例如:

        class HeaderCom extends Component {

             render() {

                 return (

                    <div>头部组件111</div>
                 );

             }

        }

注意:
       render方法中的return 根标签只能有一个 

4.为组件添加样式

1.引入css样式文件

  例如:     import './index.css'

2.js对象方式引入样式

例如:

import Styles from './indexStyle'

<div className="ft" style={  Styles.ft }>底部footer组件</div>

合并对象: Object.assign(Styles.ft,Styles.txt)

  1. 遍历 主要用数组map方法

    例如:

            arr.map((item,index)=>{
                        return (
                                    <li 
                                        className="lis"
                                        key={item.id}
                                    >
                                         <p>品牌:{ item.name }</p>
                                         <p>价格:{ item.price }</p>
                                    </li>
    
                            );
    
                    })
    
                  }
    
    

注意:遍历时要给遍历的元素添加key属性,否则会报警告

6.显示隐藏 主要利用js的三目运算符实现

格式:  条件 ? 满足 : 不满足

例如: { flag ? good : bad }

7.如何绑定事件

     <标签名 onClick={ this.函数名.bind(this) }>内容</标签名>

例如:

     <button onClick={ this.changeShowHide.bind(this) }>切换显示和隐藏</button>

es6编写reactjs事件处理函数绑定this三种方式:
https://www.cnblogs.com/feiying100/p/6649611.html

8.如何设置初始值

 constructor() {
    super();
    //相当于vue中的data   Vue({ data:{  } })
    this.state={
        属性1:值1,
        属性2:值2
        .....
    }
}

访问值:this.state.属性名

  1. 如何同步数据到视图(页面)上
 this.setState({
      要改的属性:值
})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容

  • 箭头函数与普通函数区别 React:React 起源于 Facebook ,诞生说2013,4React主要用于构...
    Live_60c3阅读 245评论 0 4
  • 1.React 的学习资源 react官方首页https://facebook.github.io/react/ ...
    贾里阅读 2,867评论 0 0
  • React简介 React是一个用于构建用户界面的JavaScript库,主要有以下几个特点: 声明式设计--Re...
    紫诺_qiu阅读 895评论 0 2
  • 一、React简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript...
    艾剪疏阅读 323评论 0 2
  • 你从西边而来 晚霞中骑着白马 满脸风尘 你说你是个王子 却没有一个随从 长安依旧长安 你却只是大唐的蕃人 在长安的...
    赛湾阅读 227评论 0 0