ree2

 什么是React?
   React是一个JavaScript库 - 最受欢迎的库之一,在GitHub上有超过100,000颗星。

   React不是一个框架(与Angular不同,它更加自以为是)。

   React是一个由Facebook创建的开源项目

   React用于在前端构建用户界面(UI)

   React是MVC应用程序的视图层(模型视图控制器)

   React最重要的一个方面是,您可以创建组件(类似于自定义,可重用的HTML元素),以快速有效地构建用户界面。React还使用状态和道具简化了数据的存储和处理方式

设置安装
     此方法不是设置Reactd的流行方法,但是如果曾经使用过Jquery这样的库,它将会很熟悉且易于理解,而且如若你不熟悉webpack,Babel和nodejs,那么他是最简单的入门方法

     首先再不是用脚手架模式开发时,我们要在index.html文件中映入三个CDN库

//React - React顶级API实列
<script src="https://unpkg.com/react@16/umd/react.development.js"></script>
//React DOM - 操作DOM的方法
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
//Babel - 一种JavaScript编译器,允许我们在旧浏览器中使用ES6 +,React中的组件都是一个对象class类
<script src="https://unpkg.com/babel-standalone@6.26.0/babel.js"></script>
 
 

React基本写法:

       在html中创建一个跟容器

<body>
    <div id="app"></div>
</code>
       注意:script标签类型一定要写"text/babel",否则会报错误(只是正对非脚手架开发模式)。如下:(为了查询器简洁,后续贴出的js代码,会省略script标签对)

// 使用react来进行页面渲染需要进行下面的三步
<script type="text/babel">
    //1.获取页面真实的容器元素
    const Div = document.getElementById("app")
    //2.创建dom元素
    const cDiv = "<div>hello world</div>"
    //3.将虚拟dom渲染到页面(类似vue,将内容渲染到绑定的容器中)
    ReactDOM.render(cDiv,Div)   //ReactDOM.render(类容,容器)。react固定方法
    
    也可以这样写:
    //1.创建dom元素
    const cDiv = "<div>hello world</div>"
    //2.将虚拟dom渲染到页面
    ReactDOM.render(cDiv,document.getElementById("app"))
</script>
React JSX

    React 使用 JSX 来替代常规的 JavaScript 创建dom元素

   JSX 是一个看起来很像 XML 的 JavaScript 语法扩展。

我们不需要一定使用 JSX,但它有以下优点:

    1.JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。

    2.它是类型安全的,在编译过程中就能发现错误。

    3.使用 JSX 编写模板更加简单快速。

    4.我们先看下以下代码:

1.原生js创建dom元素
//字符串拼接
const cDiv = "<div>hello world</div>"+
             "<span></span>"
//模板字符串
const cDiv = `<div>hello world</div>
             <span></span>`
2.React 传统的创建dom元素Dom
const cDiv = React.createElement("div",{className:"myclass"},"<span>React创建Dom</span>")
 
3.JSX创建dom元素
const cDiv = <div>
        <div>hello world</div>
        <span></span>
         </div>
 

 
      从上面创建dom元素的写法上看,jsx更像是书写原生html一样,不错,就是跟原生html写法一样,以前怎么写html的,在JSX语法中就怎么写,但是JSX中,有以下几点需要注意:

     1.JSX中书写class属性,要写成className,因为在js代码块中calss是关键保留字

     2.JSX中只存在一个根标签,书写多个标签时,一定要在外围包裹一层容器来作为唯一的根标签,类似于vue中templaten模板一样,只能有一个根标签.

JSX中 变量,表达式,注释 要放在{}中   

const str = 12;
const cDiv = <div>
         {//注释也要放在{}内
         /* 注释也要放在{}内*/
         }
         <span>{str}</span>
         <p>1+3*5+4={1+3*5+4}</p>
         </div>
内联样式通过对象方式引入,jsx中是没有单位的:

const myStyle = {
        background:"#800",
        fontSize:30  // 没有单位
    }
const str="今天天气";
const cDom =<div>
        <span>{str}</span>
        <p style={myStyle}>1+3*5+4={1+3*5+4}</p>
    </div>
ReactDOM.render(cDom,document.getElementById("app"))
 
// 如果不用变量的形式传参,我们要放在{{}}里面,如下:
const cDom =<div>
        <span>{str}</span>
        <p style={{background:"#800",fontSize:30}}>1+3*5+4={1+3*5+4}</p>
    </div>
ReactDOM.render(cDom,document.getElementById("app"))
 jsx数组遍历渲染列表

 
const Arr = [
    {name:"A"},
    {name:"B"},
    {name:"C"},
    {name:"D"},
    ];
const vDom = (  // 用小括号包裹JSX代码,便于理解,表示此代码块属于vDom变量的,也可以不适用小括号,效果一样(建议使用小括号包裹)。
    <ul>
        {
            Arr.map((item,index)=>{
                console.log(item)
                return <li key={index}>{item.name}</li>
            })
        }
    </ul>
);
ReactDOM.render(vDom,document.getElementById("app"))
 
--------------------- 
作者:shenroom 
来源:CSDN 
原文:https://blog.csdn.net/qq_41772754/article/details/88927544 
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值