笔记七、React组件化开发练习

渲染组件

  • 当用户自定义组件时,它会将 JSX 所接收的属性(attributes)以及子组件(children)转换为单个对象传递给组件,这个对象被称之为 “props”。

class App extends React.Component{
  render(){
    return (
      <div>正在学习{this.props.text}课程</div>
    )
  }
}
  • 发生了什么

    • 调用 root.render() 函数,并传入 <App text="react"/> 作为参数。
    • React 调用 App 组件,并将 {text: 'react'} 作为 props 传入。
    • App 组件将 <div>正在学习react课程</div> 元素作为返回值。
    • React DOM 将 DOM 高效地更新为 <div>正在学习react课程</div>

注意

自定义组件名称必须以大写字母开头。
React 会将以小写字母开头的组件视为原生 DOM 标签
例如,<div /> 代表 HTML 的 div 标签,而 <App /> 则代表一个组件,并且需在作用域内使用 App。

  •  嵌套组件
// 函数组件 简洁
// 函数名称首字母需要大写
// function App(props) {
//   return <>永1远{props.text}的1神</>
// }

// 类组件
// 引入核心库
import React from "react";

// 嵌套组件
class Children extends React.Component {
    render() {
        return <>正在学习的课程</>;
    }
}

// 所有 React 组件必须像纯函数一样保护它的 props 不被更改
class App extends React.Component {
    render() {
        return (
            <>
                <Children/>
                <div>学习 {this.props.text} 课程</div>
            </>
        )
    }
}

export default App
  • 所有 React 组件都必须像纯函数一样保护它们的 props 不被更改 
function sum(a, b) {
  return a + b;
}

// props的修改
function withdraw(account, amount) {
  account.total += amount;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ElendaLee

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

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

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

打赏作者

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

抵扣说明:

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

余额充值