动态添加新组件

穆罕比

我一直在玩ReactJS,它有两个组件,例如:

/** @jsx React.DOM */

var MyDiv = React.createClass({
   render: function () {
      return (
         <div>
             Hello World
         </div>
      )
   }
});

var MyClickableDiv = React.createClass({
   addDiv: function () {
      alert("Hello World"); //For testing
   }
   render: function () {
      return (
         <div>
             <MyDiv />
             <a href='#' onClick={this.addDiv}>Add new MyDiv</a>
         </div>
      )
   }
});

我想做的是:单击“添加新的MyDiv”后,我想在已有的第一个MyDiv下添加一个新的MyDiv组件。

雨果

我认为一种更加反应灵敏的方法是确定第二个div是否存在的状态,并将所有渲染置于render函数中,而不是将其拆分,而是将一半拆分为render,另一半拆分为addDiv。

var MyClickableDiv = React.createClass({

   getInitialState: function(){
       return {showDiv: false};
   },

   addDiv: function () {
       this.setState({showDiv: true});
   },

   render: function () {
      return (
         <div>
             <MyDiv />
             {this.state.showDiv ? <MyDiv /> : null}
             <a href='#' onClick={this.addDiv}>Add new MyDiv</a>
         </div>
      )
   }
});

如果您希望addDiv在再次单击时继续添加div,请更改状态,以便保留布尔值而不是布尔标志,以列出应呈现的其他div。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

JPanel不添加新组件

来自分类Dev

在Angular Dart中单击按钮时动态创建和添加新组件

来自分类Dev

动态添加新的织物画布

来自分类Dev

动态添加子组件时,如何从父组件访问子组件值?

来自分类Dev

动态将组件添加到RecyclerView

来自分类Dev

动态添加React组件

来自分类Dev

在动态添加的组件中添加输入值

来自分类Dev

使组件添加新组件的问题

来自分类Dev

使用cdk / ComponentPortal动态添加组件

来自分类Dev

在Web组件内动态添加元素

来自分类Dev

添加值为nil的新动态属性

来自分类Dev

在JSF中添加动态下拉组件

来自分类Dev

动态添加新的选项卡视图

来自分类Dev

使用jQuery动态添加新行和新子行

来自分类Dev

动态向地图添加新列表

来自分类Dev

向datagrid添加新的动态行

来自分类Dev

动态添加新的Maven依赖项?

来自分类Dev

如何向动态创建的组件添加样式

来自分类Dev

Angular 1.5 动态添加组件

来自分类Dev

添加动态新列

来自分类Dev

动态添加片段中的 UI 组件

来自分类Dev

页面加载后动态添加新的div

来自分类Dev

动态添加新的 md 自动完成元素

来自分类Dev

如何动态添加新标签?

来自分类Dev

将角度组件动态添加到新的 html 元素

来自分类Dev

使用 Angular 添加新组件时出错

来自分类Dev

添加具有默认布局的新组件

来自分类Dev

agGrid 添加新的动态构造行

来自分类Dev

动态添加类以响应组件