React Native:发现默认参数children【特殊的prop】

根据react中文网教程:添加交互 -- React 中文文档

其中添加交互的响应事件部分有一段代码

代码如下:

javascript 复制代码
export default function App() {
  return (
    <Toolbar
      onPlayMovie={() => alert('Playing!')}
      onUploadImage={() => alert('Uploading!')}
    />
  );
}

function Toolbar({ onPlayMovie, onUploadImage }) {
  return (
    <div>
      <Button onClick={onPlayMovie}>
        Play Movie 
      </Button>
      <Button onClick={onUploadImage}>
        Upload Image
      </Button>
    </div>
  );
}

function Button({ onClick, children }) {
  return (
    <button onClick={onClick}>
      {children}
    </button>
  );
}

呈现出来的效果如下:

这段代码有意思的地方就是,函数组件Button明明需要两个声明的参数,但是ToolBar组件嵌套时只传递了一个第一个参数onClick。而第二个函数children竟然默认是组件中的文本内容也许是我大惊小怪,但在其他的编程语言里面确实没见过,这么灵活的设计,不亲自实践或者有教程可以看到应该不容易理解和发现吧。而且这个参数名称只能是children,不能是其它的命名的,我试过时不好使的。

相关推荐
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
liangshanbo12151 天前
React 性能瓶颈定位面试题——原理深挖版
react·performance·profiler
李少兄1 天前
JavaScript 隐式全局变量解析
javascript
沙蒿同学2 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
liangshanbo12152 天前
React 性能优化实战
性能优化·react
paopaokaka_luck2 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
FungLeo2 天前
成为全栈·React 管理后台篇·按钮级权限:能力映射、菜单过滤与自锁保护
react·rbac·路由守卫·权限控制·前端权限·成为全栈
Hilaku2 天前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
陈拉斯2 天前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript