javascript - 动态插入的 React 组件

标签 javascript reactjs reactjs-flux

我正在 React/flux 中构建一个 WYSIWYG 工具,您可以在其中通过将元素拖放到页面上来构建界面。因此,例如,我有一个可放置元素列表:列表、表单、输入框、文本框等。当用户将其中一个元素放置在页面上时,我需要插入关联的 react 组件(并且我存储一个名称他们放下的对象的属性,所以我会知道我需要的组件名称)。因此,如果用户将列表拖放到页面上,我的关联组件标签是 <list /> , 我不能只做 <{component.name} />它会把它变成<list /> ...但是我需要一种方法。有什么想法吗?

最佳答案

所以摆弄这个,我最终让它像这样工作:

var Sort = require('./sort')
var List = require(./list')

var allComponents = {
    sort: Sort,
    list: List
}

React.createElement(allComponents[component.componentName], {data:component.data})

所以现在如果我的 component.componentName 是列表,它将渲染组件,数据将成为我的属性

关于javascript - 动态插入的 React 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28097198/

相关文章:

javascript - 使用:visible variable to target only those items

javascript - Bootstrap Popup - 将事件附加到动态弹出按钮

javascript - 在 webpack React 中使用图像不起作用

javascript - 如何启用/禁用按钮来验证存在 ng-repeat 的表单?

reactjs - React 中 JSON 文件的 MSAL 动态配置

javascript - 如何在 ReactJS 中渲染对象数组

reactjs - React Native ListView 性能太慢?

reactjs - 处理操作时分派(dispatch)进一步的操作

reactjs - Typescript - ...没有兼容的调用签名

javascript - react 通量 Action 并存储类依赖关系