javascript - 当我多次单击添加按钮时,它应该显示我在这里 div 多次删除按钮
问题描述
- 我正在尝试构建一个简单的用户界面,以便我可以学习反应。
- 现在,当我单击添加按钮时,它将显示我在这里 div 和删除按钮
- 当我多次单击添加按钮时,它应该多次显示我在这里带有删除按钮的 div。
- 所以我研究并发现了这个例子https://www.skptricks.com/2018/06/append-or-prepend-html-using-reactjs.html
- 使用这个例子,我实现了 appendData 方法,但它仍然没有多次添加 div。
- 在我的控制台中,我可以看到添加了多少次 div
console.log("this.displayData---->", this.displayData);
- 你能告诉我如何解决它。
- 所以将来我会自己修复它
https://stackblitz.com/edit/react-b2d3rb?file=demo.js
onClick = () => {
this.setState({ showResults: true });
this.setState({ showOrHideSearch: true });
this.displayData.push(
<div style={{ display: this.state.showOrHideSearch ? "" : "none" }}>
{" "}
I am here
<input
ref="rbc-toolbar-label"
type="submit"
value="Delete"
onClick={this.onDelete}
/>
</div>
);
console.log("this.displayData---->", this.displayData);
this.setState({ showdata: this.displayData });
};
解决方案
第一件事是你不应该多次使用 this.setState ,而应该在一行中使用它们。而不是将数据推送到类变量中,您应该将该数据设置到您的状态变量和您应该在渲染函数中使用的相同变量中。如果你能分享你的完整代码会很好..
推荐阅读
- javascript - 如何消除 HTML/CSS 中 jquery“折叠表”和“实时更新表”之间的冲突?
- javascript - Firefox 每次在移动设备上通过安全源 https 显示网络摄像头权限弹出窗口
- java - 使用 Spring Boot 使用 SoapWeb 服务不起作用?
- javascript - 如何根据用户的请求加载数据?
- docker - 在 gitlab 管道上构建 docker 期间的自动装配问题
- .net-core - .net core 中的 Stimulsoft Report Viewer 本地化问题
- forms - 颤振等效于键上的字符串验证
- jquery - 根据不升序或降序的列值对表行重新排序
- javascript - 量角器 - 通过 count() 函数遍历所有元素对我不起作用
- r - 如何使用 str_detect 在两个不同的数据帧之间进行匹配?