如何在React中动态分配属性?

穆罕默德·阿西夫(Muhammad Asif Javed)

这是一个具有两个参数的函数:

  1. 我要创建的标签的名称
  2. 具有属性的对象

使用React,我创建一个组件并将该元素呈现为DOM。问题是我想向元素添加属性,但不允许循环在元素内设置属性。

var Element = function(element, properties) {
  var newElement = React.createClass({
    render: function() {
      return (
        React.createElement(element, {}, 'react reuseable')
      );
    }
  });

  ReactDOM.render(React.createElement(newElement, null), document.getElementById('content'));
}

这是创建React元素的函数调用:

Element('g', {
  id: 'DrawingController.drawingPathCounter ' + '_shape',
  d: 'path',
  fill: 'none',
  stroke: 'Controllers.TemplateController.wireFrameColour_Selected',
  'stroke-width': 1,
  'class': 'drawingpath',
  pathhover: '',
  'vector-effect': 'non-scaling-stroke'
})
丹·普林斯

您正在重新实现现有React.createElement方法。

您可以将组件的唯一道具存储在数组中,然后使用这些道具创建组件列表。

var propsList = [
  { id: 1, d: 'path', fill: 'none' }, 
  { id: 2, d: 'path', fill: 'none' }, 
  { id: 3, d: 'path', fill: 'none' } 
];

var components = propsList.map(function(props) {
  return React.createElement('g', props);
});

var App = React.createClass({
  render: function() {
    return React.createElement('div', null, components);
  }
});

ReactDOM.render(
  React.createElement(App, null),
  document.getElementById('content')
);

如果希望属性列表是动态的,则应将其存储在组件的状态内。

var App = React.createClass({
  getInitialState: function() {
    return {
      propsList: []
    };
  },
  addProps: function(props) {
    var propsList = this.state.propsList.concat([props]);
    this.setState({ propsList: propsList });
  },
  render: function() {
    var components = this.state.propsList.map(function(props) {
      return React.createElement('g', props);
    });

    return React.createElement('div', null, components);
  }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何动态分配属性

来自分类Dev

在SimpleXML中动态分配属性名称(java)

来自分类Dev

动态分配属性名称给对象

来自分类Dev

动态分配属性给JavaScript对象(trie)

来自分类Dev

在运行时动态分配属性

来自分类Dev

如何在TypeScript中为类属性动态分配值

来自分类Dev

如何在Python中为类属性动态分配值?

来自分类Dev

如何在Spring MVC JSP中动态分配值给禁用属性

来自分类Dev

根据属性名称动态分配属性值的最佳方法

来自分类Dev

如何在AngularJS中动态分配过滤器

来自分类Dev

如何在C ++中访问动态分配的矩阵?

来自分类Dev

如何在Django集合中动态分配别名?

来自分类Dev

如何在C中动态分配静态存储?

来自分类Dev

如何在函数中动态分配内存?

来自分类Dev

如何在C ++中引用动态分配的字符数组

来自分类Dev

如何在C ++中删除由动态分配的数组成员组成的动态分配的结构?

来自分类Dev

如何在magento中未设置属性的情况下为产品分配属性

来自分类Dev

如何在ASP.NET C#中为BasicDatePicker分配属性?

来自分类Dev

rsyslog:如何在imfile中分配属性?

来自分类Dev

创建过程中如何为实例分配属性?

来自分类Dev

如何在Access中为VBA中的顺序命名文本框动态分配变量

来自分类Dev

如何在Android中动态分配名称到数据库中的按钮?

来自分类Dev

如何在 C++ 中的全局字符数组中动态分配类的实例?

来自分类Dev

如何动态分配熊猫分配中的列名

来自分类Dev

关于Python 2.x中的属性动态分配

来自分类Dev

关于Python 2.x中的属性动态分配

来自分类Dev

如何在Visual Studio 2012 Visual C ++中动态分配内存

来自分类Dev

如何在python中为itertools.product动态分配参数

来自分类Dev

如何在C ++中对静态动态分配的数组进行静态初始化?

Related 相关文章

  1. 1

    我如何动态分配属性

  2. 2

    在SimpleXML中动态分配属性名称(java)

  3. 3

    动态分配属性名称给对象

  4. 4

    动态分配属性给JavaScript对象(trie)

  5. 5

    在运行时动态分配属性

  6. 6

    如何在TypeScript中为类属性动态分配值

  7. 7

    如何在Python中为类属性动态分配值?

  8. 8

    如何在Spring MVC JSP中动态分配值给禁用属性

  9. 9

    根据属性名称动态分配属性值的最佳方法

  10. 10

    如何在AngularJS中动态分配过滤器

  11. 11

    如何在C ++中访问动态分配的矩阵?

  12. 12

    如何在Django集合中动态分配别名?

  13. 13

    如何在C中动态分配静态存储?

  14. 14

    如何在函数中动态分配内存?

  15. 15

    如何在C ++中引用动态分配的字符数组

  16. 16

    如何在C ++中删除由动态分配的数组成员组成的动态分配的结构?

  17. 17

    如何在magento中未设置属性的情况下为产品分配属性

  18. 18

    如何在ASP.NET C#中为BasicDatePicker分配属性?

  19. 19

    rsyslog:如何在imfile中分配属性?

  20. 20

    创建过程中如何为实例分配属性?

  21. 21

    如何在Access中为VBA中的顺序命名文本框动态分配变量

  22. 22

    如何在Android中动态分配名称到数据库中的按钮?

  23. 23

    如何在 C++ 中的全局字符数组中动态分配类的实例?

  24. 24

    如何动态分配熊猫分配中的列名

  25. 25

    关于Python 2.x中的属性动态分配

  26. 26

    关于Python 2.x中的属性动态分配

  27. 27

    如何在Visual Studio 2012 Visual C ++中动态分配内存

  28. 28

    如何在python中为itertools.product动态分配参数

  29. 29

    如何在C ++中对静态动态分配的数组进行静态初始化?

热门标签

归档