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 分钟前
微信开发者工具开发网页,不支持tailwindcss v4怎么办?
开发语言·javascript·ecmascript
2501_921930838 分钟前
基础入门 React Native 鸿蒙跨平台开发:Video 全屏播放与画中画 鸿蒙实战
react native·react.js·harmonyos
努力d小白11 分钟前
leetcode438.找到字符串中所有字母异位词
java·javascript·算法
果粒蹬i12 分钟前
【HarmonyOS】鸿蒙React Native 实战:打造流畅的底部导航
react native·华为·harmonyos
小白路过13 分钟前
记录vue-cli-service serve启动本地服务卡住问题
前端·javascript·vue.js
2501_9219308314 分钟前
基础入门 React Native 鸿蒙跨平台开发:react-native-switch 开关适配
react native·react.js·harmonyos
梵得儿SHI32 分钟前
Vue 高级特性:渲染函数与 JSX 精讲(h 函数语法、JSX 在 Vue 中的应用)
前端·javascript·vue.js·jsx·模板语法·渲染函数·底层视图生成机制
GGGG寄了33 分钟前
CSS——文字控制属性
前端·javascript·css·html
菜鸟茜39 分钟前
ES6核心知识解析01:什么是ES6以及为什么需要ES6
前端·javascript·es6
David凉宸40 分钟前
Vue 3 项目的性能优化策略:从原理到实践(页面展示)
javascript·vue.js·性能优化