reactjs - 如何在 React 中将空元素渲染为 dom?
问题描述
我试图在最初加载页面时将一个元素呈现给包含空值的 dom
<small className="error-message">
<p id="error-msg">{this.state.errorMessage}</p>
</small>
errorMessage
最初设置为空字符串,当我的表单中的某些字段未完成时,我设置了错误消息
this.state = {
firstName: '',
lastName: '',
email: '',
username: '',
password: '',
confirmPassword: '',
errorMessage: ''
}
async handleSubmit(event) {
event.preventDefault()
if(!this.state.firstName || !this.state.lastName || !this.state.email || !this.state.username || !this.state.password || !this.state.confirmPassword){
return this.setState({errorMessage: 'Please complete all fields'})
}
我的问题是除非设置,否则react 不会将small
元素添加到 Dom 。errorMessage
这使我的表单垂直扩展以显示错误消息。有什么方法可以让反应渲染small
元素,不管它的值errorMessage
是什么,所以我的表单保持相同的高度?
解决方案
我会为片段设置一个最小高度:
<small className="error-message" style={{ minHeight: 30 }}>
<p id="error-msg">{this.state.errorMessage}</p>
</small>
推荐阅读
- elasticsearch - 如何将专用主节点添加到现有的弹性搜索集群
- postgresql - 如何在 sequalize 中将相同的表数据与 where 子句一起包含两次?
- angular-material - 如何在角度材料中自定义 mat-paginator
- android - 如何使用intent.set()设置锁屏背景?
- php - 与 Laravel 的领域集成
- typescript - 声明任意嵌套数组(递归类型定义)
- excel - Excel公式总结5列的唯一值?
- node.js - NPM 在安装时不断删除我的“构建”文件夹
- ruby-on-rails - Execjs 使用一些额外的 node_module 从 Ruby 执行 nodejs 代码
- javascript - 如何连接具有相同ID的对象值