【问题标题】:Storing JSX code for late rendering为后期渲染存储 JSX 代码
【发布时间】:2017-08-03 06:09:06
【问题描述】:

已经尝试了一周!我想将 JSX 存储在我用解析器构建的数组中。我想做这个

JSX.push(<Accordion
              uniqId={'addAsset'}
              {...this.props}
              singleOpen={true} >);

这可能吗?我可以将其存储为字符串,然后以某种方式将字符串数组解释为 JSX 代码吗?

【问题讨论】:

  • 我不认为这是可能的,因为您只能使用 JSX 作为组件的返回值。为什么不存储您需要的数据,然后在渲染组件时映射该数据?
  • 它应该是一个表单创建者。在解析 JSON 文件之前,我不知道这些组件。

标签: reactjs jsx


【解决方案1】:

我认为,data 是不可能的

JSX.push(<Accordion
              uniqId={'addAsset'}
              {...this.props}
              singleOpen={true} >);

您可以将数据存储在数组中,稍后您可以使用数组数据映射和调用组件...

其他选项是

您可以将组件存储到没有数据的array 中,然后您可以调用该组件。

JSX.push(Accordion);
JSX.push(TextBox);

然后

JSX.map(function(item){
    <item {...data}/>
})

【讨论】:

  • 谢谢。我会试试第二个。
猜你喜欢
  • 2018-01-10
  • 1970-01-01
  • 1970-01-01
  • 2018-01-19
  • 2014-12-20
  • 2017-10-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多