如何获取日期以显示组件首次呈现的时间? MERN堆栈
How can I get the date to show when component is first rendered? MERN stack
我创建了一个用户填写的表单,然后可以更新。当表单呈现更新时,存储在用户数据库条目中的日期将不会显示。我收到此错误:指定值“Mon Jul 27 1987 20:00:00 GMT-0400(东部夏令时)”不符合要求的格式“yyyy-MM-dd”
我有另一个表格,它似乎工作得很好,但出于某种原因,这个表格不会在呈现时加载日期。
最初提交和更新表单时日期是这样设置的:
<div>
<label>Date of birth</label>
<input name="dateOfBirth" label="Date of birth" type="date" value={dateOfBirth} onChange={(e)=> setDateOfBirth(e.target.value)} />
</div>
这是加载状态的方式:
const HHForm = ({user, userState}) => {
const [dateOfBirth, setDateOfBirth] = useState(userState?.healthHistory[0]?.dateOfBirth ? ((userState?.healthHistory[0]?.dateOfBirth) : (''))
但是当组件呈现以更新表单时,日期只是作为一个空的日期选择器保留,就好像没有日期数据一样,但是数据库有一个 dateOfBirth 条目。
HTML 5 个日期选择器的格式应为 yyyy-MM-dd。你应该格式化你的日期。您可以使用 moment 来做到这一点。 https://www.npmjs.com/package/moment
import moment from 'moment'
setState(moment(your date here).format('YYYY-MM-DD'))
这是完整代码https://codesandbox.io/s/date-picker-76lgw?file=/src/App.js
我创建了一个用户填写的表单,然后可以更新。当表单呈现更新时,存储在用户数据库条目中的日期将不会显示。我收到此错误:指定值“Mon Jul 27 1987 20:00:00 GMT-0400(东部夏令时)”不符合要求的格式“yyyy-MM-dd”
我有另一个表格,它似乎工作得很好,但出于某种原因,这个表格不会在呈现时加载日期。
最初提交和更新表单时日期是这样设置的:
<div>
<label>Date of birth</label>
<input name="dateOfBirth" label="Date of birth" type="date" value={dateOfBirth} onChange={(e)=> setDateOfBirth(e.target.value)} />
</div>
这是加载状态的方式:
const HHForm = ({user, userState}) => {
const [dateOfBirth, setDateOfBirth] = useState(userState?.healthHistory[0]?.dateOfBirth ? ((userState?.healthHistory[0]?.dateOfBirth) : (''))
但是当组件呈现以更新表单时,日期只是作为一个空的日期选择器保留,就好像没有日期数据一样,但是数据库有一个 dateOfBirth 条目。
HTML 5 个日期选择器的格式应为 yyyy-MM-dd。你应该格式化你的日期。您可以使用 moment 来做到这一点。 https://www.npmjs.com/package/moment
import moment from 'moment'
setState(moment(your date here).format('YYYY-MM-DD'))
这是完整代码https://codesandbox.io/s/date-picker-76lgw?file=/src/App.js