当前位置: 首页 > news >正文

零基础可以做网站吗商标注册证查询网

零基础可以做网站吗,商标注册证查询网,响应式网站什么用,营销型网站建设主要需要注意什么React(二) 创建组件 函数组件 函数组件:使用JS的函数或者箭头函数创建的组件 使用 JS 的函数(或箭头函数)创建的组件,叫做函数组件约定1:函数名称必须以大写字母开头,React 据此区分组件和普通的 HTML约定2:函数组…

React(二)

创建组件

函数组件

函数组件:使用JS的函数或者箭头函数创建的组件

  • 使用 JS 的函数(或箭头函数)创建的组件,叫做函数组件
  • 约定1:函数名称必须以大写字母开头,React 据此区分组件普通的 HTML
  • 约定2:函数组件必须有返回值,表示该组件的 UI 结构
// 1. 导包
import React from 'react'
import ReactDom from 'react-dom/client'
// 2. 创建 函数式组件
// 普通函数或者箭头函数创建组件,首字母大写
// 组件必须要有返回值
function Music() {return (<div><h1>haha</h1></div>)
}
const VNode = (<div><Music></Music></div>
)
// 3. 挂载
ReactDom.createRoot(document.querySelector('#root')).render(VNode)

类组件

类组件:使用 ES6 的 class 创建的组件,叫做类(class)组件

  • 约定1:类名称也必须以大写字母开头
  • 约定2:类组件应该继承 React.Component 父类,从而使用父类中提供的方法或属性
  • 约定3:类组件必须提供 render 方法
  • 约定4:render 方法必须有返回值,表示该组件的 UI 结构
// 1. 导包
import React from 'react'
import ReactDom from 'react-dom/client'
// 2.
class Hello extends React.Component {render() {return <h1>哈哈</h1>}
}
const VNode = (<><Hello></Hello></>
)
// 3. 挂载
ReactDom.createRoot(document.querySelector('#root')).render(VNode)

组件提取到单独的文件中

  1. components文件夹下,创建函数组件hello.js,类组件home.js,

    • hello.js
    const Hello = () => <h1>我是hello组件</h1>
    export default Hello
    
    • home.js
    import React from 'react'class Home extends React.Component {render() {return <h2>home</h2>}
    }
    export default Home
    
  2. index.js中导入

// 1. 导包
import React from 'react'
import ReactDom from 'react-dom/client'
// 导入组件
import Hello from './components/hello'
import Home from './components/home'
// 2. 创建虚拟DOM
const App = (<><Hello></Hello><Home></Home></>
)
// 3. 挂载
ReactDom.createRoot(document.querySelector('#root')).render(App)

有状态组件 无状态组件

状态即数据。

  • 函数组件又叫做无状态组件 函数组件是不能自己提供数据 【前提:基于hooks之前说的 16.8之前】
  • 类组件又叫做有状态组件类组件可以自己提供数据,数据如果发生了改变,内容会自动的更新
  • 组件的私有数据也称为状态 ,当组件的状态发生了改变,页面结构也就发生了改变。【数据驱动视图】
  • 函数组件是没有状态的,只负责页面的展示(静态,不会发生变化)性能比较高
  • 类组件有自己的状态,负责更新UI,只要类组件的数据发生了改变,UI就会发生更新(动态)。
  • 在复杂的项目中,一般都是由函数组件和类组件共同配合来完成的。
// 1. 导包
import React from "react"
import ReactDom from 'react-dom/client'
// 函数组件  没有状态  仅仅做一些数据展示的工作,可以使用函数组件
// function App() {
//   return (
//     <div>我是组件</div>
//   )
// }// 类组件  有状态  如果有状态,状态需要切换,更新视图 用类组件
class App extends React.Component {render() {return (<h1>我是类组件</h1>)}
}
const VNode = (<div><App></App></div>
)
ReactDom.createRoot(document.querySelector('#root')).render(VNode)

类组件的状态

  • 状态state即数据,是组件内部的私有数据,只有在组件内部可以使用
  • state的值是一个对象,表示一个组件中可以有多个数据
  • 通过 this.state.xxx 来获取状态
// 1. 导包
import React from "react"
import ReactDom from 'react-dom/client'
// 类组件  有状态  如果有状态,状态需要切换,更新视图 用类组件
class App extends React.Component {// state节点中提供状态// 通过 this.state.xxx 来获取状态state = {name: 'Tt',age: 17}render() {return (<h1>{this.state.name} ----- {this.state.age}</h1>)}
}
const VNode = (<div><App></App></div>
)
ReactDom.createRoot(document.querySelector('#root')).render(VNode)

事件处理

注册事件

语法:on+事件名={事件处理程序} 比如onClick={this.handleClick}

// 1. 导包
import React from "react"
import ReactDom from 'react-dom/client'
// 类组件  有状态  如果有状态,状态需要切换,更新视图 用类组件
class App extends React.Component {// state节点中提供状态    通过 this.state.xxx 来获取状态state = {name: 'Tt',age: 17}// 提供一些方法handleClick() {console.log('点击');}render() {return (<div><button onClick={this.handleClick}>按钮</button></div>)}
}
const VNode = (<div><App></App></div>
)
ReactDom.createRoot(document.querySelector('#root')).render(VNode)
http://www.yayakq.cn/news/588070/

相关文章:

  • 用源码做自己的网站手机网站仿站
  • 免费网站建站模块北京公司注册地址多少钱一年
  • 专业模板建站服务如何制作自己的网站教程
  • 拓普建站推广广州工程造价信息网
  • 网站怎么去维护网站升级每天自动更新
  • 网站列表页怎么做内链房地产信息发布平台官网
  • 用网站做的人工智能广西桂建云个人登录
  • 购物网站宣传方案网站建设费用一年多少钱
  • 网站开发钱包浙江城乡建设部网站首页
  • 做网站需要的手续设计公司网站官网
  • 怎么查网站是不是百度做的企业门户网站的建设与实现论文
  • 企业州建设银行网站wordpress 编辑器漏洞
  • 通付盾 网站建设网站的网站制作公司
  • 建站之星凡客网站界面设计技巧
  • 上下框架 网站湘潭网站建设 问下磐石网络
  • 怎样做网站别人能访问wordpress文章写html代码
  • 怎样做推广网站淘金网站建设推广
  • 中文企业网站模板html零食网站建设的文案策划书
  • 浙江省水利建设行业协会网站wordpress 上传头像
  • 万网虚拟主机上传网站凯里市黎升网络推广公司
  • 宁津华企动力做网站的电话多少工程建设与设计
  • 陕西建设监理协会网站园林景观设计公司总工岗位职责
  • 网站建设 哪家好深圳建设网站费用
  • 深圳百度seo培训百度seo霸屏软件
  • 外国语学院英文网站建设网站备案时间也太慢了
  • 房产智能建站系统如何用自己公司网站做邮箱
  • 青岛西海岸新区建设局网站郑州seo排名收费
  • 帝国网站管理系统后台织梦做网站好不好
  • 网站这么设置微信支付中国建设银行网站查询密码
  • 湖南医院响应式网站建设企业傻瓜做网站