reactjs - 考虑到我想向数据库发出发布请求,初始状态属性应该在 react-redux 减速器中为空还是未定义?
问题描述
我正在使用 Reactjs 和 react-redux 以及 spring boot 和 Postgres。在化简器中初始化初始状态属性时,考虑到我想将它们保存在数据库中,它们应该为空还是未定义?
例如:
const initialState = {
rollNo: '',
firstName: '',
middleName: '',
}
const reducer = (initialState,action) => {
///
}
从提供的表单中的 TextField 中获取 rollNo、firstName 等。rollNo、firstName 等应该为 null 还是未定义?我想将它们保存在数据库中,某些值可以为空。如果我让它们为空,我会收到错误:
index.js:1375 警告:value
prop on input
should not be null。考虑使用空字符串来清除组件或undefined
不受控制的组件。如果我将它们保持未定义,它们是否会导致在后端特别是 Spring Boot 中获取它们时出现问题?
谢谢你的时间。任何帮助都会很棒:)
解决方案
react 中的输入不能具有null
指示 - 对 React- 它们是不受控制的组件(它们在内部管理它们的状态)然后你继续给它们一个值,即使它对你的输入它也没有意义服务器。
您应该做的是在发送请求之前从后端取消空字段或从前端取消它们。
推荐阅读
- javascript - 为参数值不在当前范围内的元素创建 onclick
- java - 为什么红移连接中的连接计时错误?
- javascript - 我可以跨域缓存JS文件吗?
- ruby-on-rails - 如何在 Rails 中分离 Admin 和 User 数据库
- php - 如何解决 laravel 迁移错误“一般错误:1005 无法创建表”
- java - Android SDK 秒表应用程序:如何同时重置和暂停秒表
- javascript - 单击按钮时添加显示更多和显示更少按钮
- ios - Gigya SDK 的 Google 登录问题
- javascript - MutationObserver 完成对一个元素的观察后如何调用函数?
- java - 在 Java 中创建通用列表数组时出错