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 与事件

相关推荐
JudithHuang1 小时前
React:第一个 Vite 应用
react.js
JudithHuang1 小时前
React State 与事件
react.js
JudithHuang1 小时前
React 大型项目目录骨架
react.js
JudithHuang1 小时前
React 条件渲染与 JSX 进阶
react.js
JudithHuang2 小时前
React 常用 Hooks
前端·react.js·前端框架
用户298698530147 小时前
在 React 中使用 JavaScript 将 HTML 转换为 PDF
javascript·react.js·html
JudithHuang7 小时前
React 数据请求:TanStack Query
前端·react.js·前端框架
JudithHuang9 小时前
React 路由:React Router
前端·react.js·前端框架
光影少年9 小时前
RN与Flutter架构区别
前端·flutter·react native·react.js·架构·node.js