首页 > 解决方案 > 使用 onClick 事件调用 React 组件

问题描述

我需要调用一个组件(ExampleComp),当单击按钮时,再次调用该组件(ExampleComp)。这个想法是在您按下按钮时多次调用 Component(ExampleComp)。

function newComponent{
   <ExampleComp/>
}
------
return(
<div>
  <ExampleComp/>
  <Button className="btnNew"  onClick= 
  {newComponent}> Create a new Component</Button>
</div>
)

其实我不知道该怎么做,我会感谢你的帮助。

标签: javascriptreactjsclassonclickcomponents

解决方案


您可以将状态用于此目的。假设您的状态是这样的:

this.state = { items: [] };

您可以渲染所有项目,如下例所示:

return (
  <div>
    {this.state.items.map(item => {
      return <ExampleComp exampleProp={item.exampleProp} />;
    })}
    <Button className="btnNew" onClick={newComponent}>
      Create a new Component
    </Button>
  </div>
);

最后,你可以将一个项目推入状态,React 会处理剩下的事情。

function newComponent{
   newItem = { exampleProp: 'Something?' };
   this.setState((state, props) => ({ items: [...items, newItem] }));
}

这将完成这项工作。我只是使用“exampleProp”作为示例,但您不必使用它。实际上,状态也可以只是一个数字。重要的部分是在每个用户界面变化中使用状态


推荐阅读