动态嵌套 React.js 组件

2024-01-27

我想创建一个灵活/动态可以使用 React.js 呈现的 JSX 表单格式。此格式必须包含嵌套组。一个组可以包含其他组以及问题。

var Group = React.createClass({
    render: function(){
        return (
            <fieldset></fieldset>
        );
    }
});

var Text = React.createClass({
    render: function() {
        return (
            <label>
               <input type="text"/>
           </label>
        );
     }
});

React.render(
    <form>
        <Group>
           <Text/>
        </Group>
        <Text/>
    </form>,
    document.getElementById('container')
);

我想生产:

<form>
    <fieldset>
        <label>
            <input type="text">
        </label>
    </fieldset>
    <label>
        <input type="text">
    </label>
</form>

但是,那<fieldset>元素未填充。输出只包含一个空的<fieldset>.

我应该如何嵌套react.js组件,并仍然保持在根和嵌套级别重用问题和组组件的灵活性?


当您将 React 元素嵌套到 JSX 中的其他 React 元素中时,父元素会传递一个children包含子元素的 prop。看儿童道具类型 http://facebook.github.io/react/tips/children-props-type.html.

另一种看待它的方式是<Group><div></div></Group>JSX 相当于React.createElement(Group, null, React.createElement('div', null)),这又相当于React.createElement(Group, {children: React.createElement('div', null)}).

因此,在您的情况下,您的组组件将如下所示:

var Group = React.createClass({
    render: function(){
        return (
            <fieldset>{this.props.children}</fieldset>
        );
    }
});

请注意,children 属性是一个不透明的数据结构(它可能是单个元素或元素数组,具体取决于输入),因此如果您需要操作它,您应该使用React.Children http://facebook.github.io/react/docs/top-level-api.html#react.children API.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态嵌套 React.js 组件 的相关文章

随机推荐

  • Excel 强制关闭时如何抑制“禁用加载项”对话框

    我的插件是使用 WPFframework 用 c NetOffice ExcelDNA 编写的 有些部分也使用winform 主要用户界面是WPF 当显示模式对话框时 用户强制关闭 Excel 下次当他们启动 Excel 时 Excel 会
  • 你可以使用shinyjs来隐藏/显示整个面板吗?

    我想知道是否可以在整个闪亮的 wellPanel 上使用闪亮的隐藏和显示功能 我有兴趣这样做是为了有条件地显示两个面板之一 据我所知 我不能在条件面板的条件中使用反应值 下面是我的想法的一个例子 但是我不知道如何引用在shinyjs函数中给
  • tls:HTTP 请求没有重新协商错误

    我试图在 Go 中发出一个简单的 HTTP 请求 在直接按照指南进行操作后 我不断收到相同的错误 local error tls no renegotiation 我不太明白这个怎么解释 我知道这在服务器上不是问题 因为当我从 python
  • 无法将 Chrome Live Edit 与 Webpack 源映射结合使用

    我有一个 webpack 4 配置 可以为我的应用程序的 JavaScript 生成源映射 在 Chrome 中调试我的应用程序时 会加载源映射 以便我可以看到我的统一代码 我将在函数中设置断点 并在 源 选项卡中对代码进行编辑 我按 CM
  • 如何获取.net 4.0中正在运行的任务列表

    我正在尝试获取所有当前正在运行的任务的列表 net 4 0 任务 API 是否提供此类功能 或者唯一的选择是明确将任务存储在单独的集合中 我想你需要TaskScheduler GetScheduledTasks http msdn micr
  • 如何使 VBA 脚本自动生成“另存为”窗口

    我正在编写一个 VBA 代码 该代码将通过 SAP 软件的自动化屏幕保存 PDF 文件 我已经到达 SAP 询问我要将 PDF 文件保存在哪里的位置 它会打开一个 Windows 资源管理器 另存为 窗口 此时 VBA代码停止 我需要手动输
  • PostgreSQL CROSS JOIN 索引提高性能

    这是我的第二部分question https stackoverflow com questions 49938650 table indexing on postgresql for performance 所以我有下表 CREATE T
  • 当 iOS 10 发布时,我可以使用 Xcode 7.3 提交 Swift 2.2 应用程序吗?

    当 iOS 10 发布时 我是否能够向应用程序商店提交使用 Swift 2 2 运行并使用 Xcode 7 3 构建的应用程序 或者是否必须迁移到 swift 2 3 或 Swift 3 并使用 Xcode 8 构建应用程序 是的你可以 甚
  • 使用 JNI 传递并返回 OpenCv Mat 对象

    我想在 JNI 中编写一个这样的函数 JNIEXPORT jobject JNICALL Java com datumdroid android ocr simple HoughLine nativeDetectLine JNIEnv je
  • Cucumber IDE 可以自动完成功能编写吗?

    有没有Eclipse插件可以用来写黄瓜的特点 http github com aslakhellesoy cucumber wiki feature introduction具有自动完成功能 我想从其他功能中找到并重用步骤会很好 有任何想法
  • Google Charts 次轴折线图

    我目前正在学习一些带有网络编辑的谷歌图表 以扩大我的知识 但我遇到了一个无法解决的问题
  • Select2 v4 无法使用 Tab 键进入,按 Enter 键,然后选择,使用 Firefox(又称无鼠标访问)

    I am currently unable to tab into a Select2 enabled
  • 动画 UICollectionView 标题高度变化

    我目前正在使用带有标题的 UICollectionView 并且想知道如何在需要时设置动画并扩展标题高度 我正在尝试模拟 iPhone 版 Expedia 应用程序中的功能 点击图像会展开标题单元格以显示中心的图像 我已经尝试这个有一段时间
  • Gmail API 批量获得支持吗?

    我正在使用 Gmail API 进行 WEB HTTP 调用 有没有办法批量获取消息内容 看来messages list只返回messageIds messages get只支持单条消息查询 列表API https www googleap
  • 检查 Silverlight 中的互联网连接

    我正在编写一个 Silverlight 4 应用程序 并想在打开已安装的浏览器外应用程序时检查是否存在有效的互联网连接 然后从我的网站下载一些数据 做这个的最好方式是什么 我意识到我可以在 WebRequest 周围放置一个 try cat
  • 使用 jQuery 更改 Chosen.js 选择框的值

    我正在尝试更改选择框的值选择 js http harvesthq github com chosen 覆盖 这个想法是当用户单击按钮时更改所选值 使用常规选择框 我可以通过执行以下操作来更改值 GroupsShowNext unbind c
  • 在 SqlCommand 中使用参数删除

    我使用 ADO NET 从数据库中删除一些数据 如下所示 using SqlConnection conn new SqlConnection connectionString try conn Open using SqlCommand
  • knitr kable:RNW 的 PDF 中的文本颜色为灰色

    当我使用创建表时knitr kableRNW 文件中的函数 PDF 中表格项目的文本颜色显示为灰色 我想把它改成黑色 我怎样才能做到这一点 documentclass article begin document lt lt gt gt k
  • “and”如何与奇数和偶数相关?在JS中

    我的任务是弄清楚如何确定奇数和偶数 我无法使用 我使用 是因为我在互联网上找到了它 但我找不到适合它工作方式的方法 N A 我创建的样本是 if 22 1 0 return true else return false 返回真 按位运算符的
  • 动态嵌套 React.js 组件

    我想创建一个灵活 动态可以使用 React js 呈现的 JSX 表单格式 此格式必须包含嵌套组 一个组可以包含其他组以及问题 var Group React createClass render function return field