【前端】React基础2---React组件1

一、组件介绍

  1. 组件化的概念
  2. 代表页面中的某部分及功能
  3. 特点:可复用、独立

二、俩种创建方式

1.函数组件:使用JS函数创建的组件

                     函数名必须大写开头

                     组件必须有返回值

function Hello(){

return(

    <div>333333</div>

  )

}

ReactDOM.render(<ok />,document.getElementById("root"))

2.类组件:

类名大写开头

类组件应继承React.Component父类

类组件必须提供render( )方法

Render( )必须有返回值

function Hello( ) {

render( ){

return(

<div>你好 class</div>

   )

 }
 
}

ReactDOM.render(<ok />,document.getElementById(“root”))

注意:16.8之前 函数组件是无状态组件 16.8之后,加入了react-hooks

三、将组件代码放在独立的js文件

   1.创建组件js文件,eg.book.js

   2.在Book.js文件中导入React

   3.实用类或者函数创建组件

   4.组件必须要导出才能使用

   5.在指定的文件中导入Book.js

   6.渲染组件

   7.Book.js  

import React, { Component } from 'react'

export class Test extends Component {

               render() {

                     return (

                         <div> </div>

                         )

                     }

}

export default Test   //导出

    8.index.js

  import React from "react";

  ReactDOM.render(<Test />)

  document.querySelector("#root");

四、组件的样式

1.行内样式(官方推荐)

<div>

     {第一个{}是JSX语法 第二个是{}是对象

     <p style={{ color:’red’}}today </p>

     <p style={style}is very good! </p>

</div>

外部引入 准备好外部css文件,在js中使用import引入

注意:class属性建议写为className

五、ref获取dom

1.<p ref=’myword’>你好</p>

可以通过外部css文件,在js中使用import 引入

注意: refs将要被弃用,在严格模式下会报错

2.新写法

  myRef=React.createRef( );

  <div ref={this.myRef}></div>

3.如果ref绑定到组件上,我们会获得这个组件

六、列表渲染

1.使用js原生的map方法

<ul>
     {

        This.state.arr.map(item=> <li key={item.id}>{item}</li>)

     }

</ul>

 2.为了列表的复用与重排,设置key值,提高性能

七、条件渲染

1.{条件?<p>yes</p>:<p>no</p>}

2.{条件&&<p>ok</p>}

八、富文本展示

<p dangerouslySetInnerHTML={

     {__html:富文本}

}></p>

九、事件处理

1.事件绑定:on+事件名称={fn}

   注意:这里要用驼峰命名法

<button onclick={this.myclick}>1</button>

<button onclick={()=>{

       console.log(this);

}}>1</button>

<button onClick={this.ok.bind(this)}>1</button>  //不推荐

<button onClick={()=>this.yes()}>1</button>   //比较推荐

2.React并不会真的绑定一个事件到具体的元素上,而是采用事件代理的模式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羊️里个雲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值