React 组件与 Props

React 组件与 Props

前置:React:第一个 Vite 应用

目标:会拆组件,会用 TypeScript 给 props 定类型。

引言

页面一大就该拆。组件 是复用单位;props 是父传给子的只读数据。


动手

完整代码:react2/02-components-props/demo

bash 复制代码
cd react2/02-components-props/demo
npm install
npm run dev

关键代码

UserCard.tsx:

tsx 复制代码
type UserCardProps = {
  name: string
  role: string
  years: number
}

export function UserCard({ name, role, years }: UserCardProps) {
  return (
    <article className="card">
      <h2>{name}</h2>
      <p className="role">{role}</p>
      <p className="years">从业 {years} 年</p>
    </article>
  )
}

父组件传入不同 props,得到三张卡片:

tsx 复制代码
<UserCard name="小明" role="前端" years={2} />
<UserCard name="小红" role="全栈" years={5} />

运行截图


记住

  • props 向下流动;子组件不要偷偷改 props。
  • 需要变的数据放在拥有它的那一层的 state(下一篇)。
  • TypeScript 的 props 类型能在编译期拦住拼写错误。

下一篇

State 与事件

相关推荐
时间的情敌2 小时前
《回顾 2019 前端:React Hooks 问世,前端工程化爆发的一年》
前端·react.js·前端框架
志尊宝1 天前
AI原生前端开发(009):AI辅助性能分析与优化建议
人工智能·react.js·ai-native
lemon_yyds1 天前
Vue 项目嵌入 React H5 技术方案
vue.js·react.js
PHP是世界上最好的语言1 天前
React接入PDF批注:保存后重新打开,确认改动没有丢
react.js
用户298698530141 天前
在 React 中使用 JavaScript 将 Markdown 转换为 PDF
javascript·react.js·markdown
Java后端的Ai之路1 天前
19-ReactJS最佳实践
前端·react.js·前端框架
结局无敌2 天前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
执子念的飞鱼2 天前
纯前端预览 275 种文件格式是怎么做到的
前端·vue.js·react.js
结局无敌2 天前
React Native for OpenHarmony 实战:三方库 react-native-paper 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·ecmascript·harmonyos
结局无敌2 天前
React Native for OpenHarmony 实战:三方库 react-native-progress-steps 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·harmonyos