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,不能是其它的命名的,我试过时不好使的。

相关推荐
辰风沐阳3 小时前
JavaScript 的宏任务和微任务
javascript
lbb 小魔仙3 小时前
【HarmonyOS实战】OpenHarmony + RN:自定义 useFormik 表单处理
react native·harmonyos
冰暮流星4 小时前
javascript之二重循环练习
开发语言·javascript·数据库
Mr Xu_4 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
hedley(●'◡'●)5 小时前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
百思可瑞教育5 小时前
构建自己的Vue UI组件库:从设计到发布
前端·javascript·vue.js·ui·百思可瑞教育·北京百思教育
全栈探索者5 小时前
@Component + struct = 你的新函数组件——React 开发者的鸿蒙入门指南(第 2 期)
react·harmonyos·arkts·前端开发·deveco studio·鸿蒙next·函数组件
CappuccinoRose5 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明
全栈前端老曹6 小时前
【MongoDB】深入研究副本集与高可用性——Replica Set 架构、故障转移、读写分离
前端·javascript·数据库·mongodb·架构·nosql·副本集
NCDS程序员6 小时前
v-model: /v-model/ :(v-bind)三者核心区别
前端·javascript·vue.js