【React】react如何实现动态增加一个组件
页面内包含一个组件和一个增加按钮,如何实现点击增加按按钮复制这个组件呢。使用React.cloneElement()这个API吗。
像图中的点击蓝色按钮,新增一个黑色组件
回答
假设这个组件为<NewConpmonent />
state = {componnetArray: [1]};addComponent = () => {
let arr = [...this.state.componnetArray];
arr.push(1);
this.setState({
componnetArray: arr
})
}
//存放组件的地方写法如下
<div>
//根据this.state.componentArray数组的长度来新增组件
{this.state.componentArray.map((item, index) => <NewConpmonent key={index} />))}
<Button onClick={addComponent}></Button>
</div>
并不需要。
const BlackComponent = () => <div>我是黑色组件</div>
export default class extends React.Component{ constructor(props) {
super(props);
this.state = {comps : []}
}
render() {
const {comps } = this.state;
return (
<div>
{comps.map(comp => {
return <BlackComponent key={comp} />
})}
<p>---------------</p>
<button onClick={() => this.setState({comps: comps.concat([Date.now()])})}>加组件</button>
</div>
);
}
}
用数组循环渲染组件,添加直接给数组添加一个值,重新渲染即可
可以使用rc-notification
以上是 【React】react如何实现动态增加一个组件 的全部内容, 来源链接: utcz.com/a/71961.html