深入理解React - Props
import React, { Component } from 'react' import ReactDOM from 'react-dom/client' // 导入prop-types import PropTypes from 'prop-types' import { nanoid } from 'nanoid' import Husband from './components/Husband' import Wife from './components/Wife' const root = ReactDOM.createRoot(document.getElementById('root')) class Child extends React.Component { render() { const { children } = this.props const res = children() return ( <> <div>{res}</div> </> ) } } class App01 extends React.Component { render() { return ( <Child> {() => { return ( <> <div> <h1>we are the world!</h1> </div> </> ) }} </Child> ) } } class Header extends React.Component { render() { return ( <> <div> <h1></h1> </div> </> ) } } // 形参可以给组件传入默认值 function HeaderCom({ name = 'we are the world' }) { return ( <> <div> <h1>{name}</h1> </div> </> ) } HeaderCom.protoTypes = { name: PropTypes.string.isRequired, } // 设置组件的propTypes属性 Header.propTypes = { // 设置props属性的类型 list: PropTypes.array.isRequired, name: PropTypes.string, // 🍧 element是JSX title: PropTypes.element, obj: PropTypes.shape({ age: PropTypes.number, gender: PropTypes.string, }), } class App02 extends React.Component { render() { return ( <> <div> <HeaderCom name={'Felix'} /> <hr /> <Header obj={{ age: '24' }} list={[]} name={'wangzz'} title={<h1>Hello React</h1>} ></Header> </div> </> ) } } const divNode = ( <div> <App02 /> </div> ) root.render(divNode)
学而不思则罔,思而不学则殆!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具