Recat

Recat使用

1.安装脚手架工具

npm install -g create-react-app   /  cnpm install -g create-react-app

2.创建项目

create-react-app 项目名

 

切换到项目目录  npm run start 启动项目

 

元素渲染

JSX元素对象只可以有一个根节点 (类似VUE)

渲染过程 为 ReactDOM.render(模板,根节点)

 

 

Jsx

优点:

1.JSX执行更快,编译为JS代码进行优化

2.类型更安全,编译过程如果出错不再编译,及时发现错误

3.JSX编写更加简单快捷(不和VUE比)

注意:

1.JSX 必须有根节点

2.正常的普通的HTML元素要小写,如果大写,默认为组件

 

JSX表达式

1.由HTML元素构成

2.中间如果需要插入变量用  {}

3.{ }之间可以用表达式

4.{ }中间表达式可以混合使用JSX对象

5.属性和HTML内容一样用()来插入内容

 

 

JSX style样式

1.class中不能合并多个class属性

l例:class =' abc'  class ='active'

2.只能使用JSX对象的新形式 {} 添加样式  不能通过"样式"方式添加

3.style样式中,如存在多个单词的属性组合,第二个单词开始,首字母大写(驼峰命名法) 或 使用引号

例:backGroundColor   borderBottom

4.多个类共存的操作

<h1 className= {  "abc" + classStr(JSX对象,设置的类名样式) }> helloword </h1>

或使用拼接字符串的形式

let classStr = [ ' abc' , '  reg' ].join("  ")

<h1 className= { classStr }> helloword </h1>

 

React 组件

1.函数式组件

function  组件名() {

    return(   //模板内容  )

}

 

2.类式组件

class 组件名 extends Recat.component {   

         consturtor( props ){

               super( props)  }

        render() {  // 要渲染的模块  }

}

//传递参数的过程为  渲染时   < 组件名 参数名 = '  值 '>

3.混合型组件 

可在渲染过程中渲染其他组件 

 

函数式组件和类组件的区别:

函数式组件 比较简单,一般用于静态没有交互事件内容的组件页面

类组件 一般称为动态组件,一般用在有交互或者数据有修改的操作

 

 

React 状态

class 组件名 extends Recat.component {   

         consturtor( props ){

               super( props)

              this.State={  值名:值 }

         this.交互方法名 = this.交互方法名.bind(this)   //定义后方法必须更改this指向 才能使用

         //或使用箭头函数的形式  

}   

      //可声明一些交互方法  但注意声明后 要对定义后的交互方法 进行 this指向的更改

        render() {  // 要渲染的模块  }

     交互方法 =() => {    }

}

 修改State中的数据

componentDidMount(  )   {   //生命周期函数   组件渲染完成时的函数

          this.setState{ 值名 : 值}

  }

 

 

React 父传子数据传递

使用State去控制子元素props的从而达到父元素数据传递给子元素

 

React 子传父数据传递

字传父的过程为  

父组件定义方法  方法携带setState数据   通过渲染时传递方法

子组件通过this.props.方法名   接收方法  并将要传递的值 赋值给父组件传递过来的方法

 

React事件

特点:

1.React事件 绑定事件命名:采用驼峰命名法(第二个单词开始首字母大写)   原生写法:小写

2.{  this.函数名 }传入一个函数   原生写法:  “ ”  事件方法通过字符串进行绑定

 

React事件对象

React返回的事件对象是代理的原生的事件对象,如果想查看事件对象的具体值,必须输出具体事件对象的属性

 

原生:阻止默认行为时,可以直接返回 return false

React中,阻止默认行为必须采用 e.preventDefault()

 

React事件函数传递参数

使用ES6箭头函数传递多个参数

< button onClick = { (e )=>{ this.函数名 (  ' 参数值' ,'参数值',事件对象e )}}>  

//通过ES6箭头函数(外部this) 调用函数携带参数 接收时对应参数即可

使用匿名函数传递多个参数

< button onClick = { function(e){ this.函数名 (  ' 参数值' ,'参数值',事件对象e )}.bind(this)}>

//使用匿名函数 通过匿名函数声明 传递多个值并指定this指向 

 

React条件渲染

1.直接通过条件运算返回要渲染的JSX对象 (if..else,三元运算符)

2.通过条件运算得出JSX对象,再将JSX对象渲染到模板中

 

列表渲染

具体实现:

将列表内容拼装成数组放置到模板中

将数据拼装成JSX数组对象 例:[ <li>xx</li>, <li>xx</li>, <li>xx</li>]

 

1.可以使用数组 map方法 循环遍历数组,对每一项数据按照JSX的形式进行加工,最终得到1个每一项都是JSX对象的数组,在将数组渲染到模板中  key值需要放置到每一项中  即li中

例:

 

如 渲染过程复杂 ,可通过封装函数 进行调用 但是要记住  key键建立在函数中

2.可以根据for循环 遍历数组长度,将遍历好整理好的JSX对象进行新数组的组合,然后进行渲染

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值