react : Add component on click of button

标签 reactjs

我试图在点击按钮时添加一个组件。

下面是 fiddle

https://jsfiddle.net/rzv6Lrjh/92/

 render: function() {
   return (
     <div>
       <IndividualTicketInput />
       {this.state.tickets}
       <CreateTicket createTicket={this.onClick} />
     </div>
   );
  }
});

这里我使用的是单个组件 IndividualTicketInput ,是否可以在单个组件 Tickets 组件中使用它?

最佳答案

您可以在状态中存储一组票证,并在每次单击 CreateTicket 按钮时生成一个新的票证对象。将新票存储在状态中并迭代它们,将每张票渲染到 dom。组件每次都会重新渲染 setState被调用,用新的 <Ticket> 更新 dom组件。

 state = { tickets: [] }

 render: function() {
   return (
     <div>
       <IndividualTicketInput />
       {this.state.tickets}
       <CreateTicket createTicket={this.onClick} />
       {this.renderTickets()}
     </div>
   );
  }
});

renderTickets() {
   return this.state.tickets.map(ticket => {
      return <Ticket key={ticket.id} ticket={ticket} />;
   });
}

onClick = () => {
   let newTicket = { ... };
   let tickets = this.state.tickets.unshift(newTicket);
   this.setState({tickets});
}

关于 react : Add component on click of button,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44567537/

相关文章:

reactjs - Webpack 代码分割,如果从单独的文件导入,则找不到 System.import 路由

javascript - 仅在特定屏幕上渲染子组件中的按钮

javascript - 更改数组对象中的数据

javascript - React - 无法渲染元素数组

javascript - 将以前的值设置为 reactjs 中的状态

css - 如何在tailwindcss中使用模板文字来动态更改类?

javascript - 在 ReactJs 的类或 id 上绑定(bind)点击事件

javascript - DOM 渲染后在 React 中执行 Vanilla JS 脚本

reactjs - 输入 NextJs 链接/路由

javascript - ReactJs 子组件未通过 Props 更新