我从api结果中得出的日期时间格式为2019-12-30T06:16:48.453Z
。 react-datepicker
不支持它。
我的代码在后面,是一个功能组件。我没有在下面写完整的代码。仅添加了必需的部分。
import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
<DatePicker
selected={'2019-12-30T06:16:48.453Z'}
{...props}
/>
我还尝试通过导入添加moment
并将其用作selected={moment('2019-12-30T06:16:48.453Z')}
在两种情况下,例如Maximum update depth exceeded
都出现错误。
答案 0 :(得分:1)
仍然使用1.8版本的datepicker,以减少使用本地Date对象的软件包大小。 reference
因此您可以如下所示更新代码
function App() {
return (
<div className="App">
<DatePicker selected={new Date("2019-12-30")} />
<DatePicker selected={new Date("2019-12-30T06:16:48.453Z")} />
</div>
);
}
更新
要获取所需的格式,请响应datepicker有一个名为dateFormat的道具,因此您可以像这样dateFormat="dd/MM/yyyy"
添加,请参见here
答案 1 :(得分:0)
已超过最大更新深度
当您在render方法的返回内部进行的函数调用超出限制时,将发生此错误。您能否在组件内部签出任何其他函数调用。
还有
反应日期选择器
尝试基本的JavaScript Date API。
selected={new Date('2019-12-30T06:16:48.453Z')}
这应该有效
答案 2 :(得分:0)
const datee='2019-12-30T06:16:48.453Z';
let filt = Date(datee);
console.log(filt);
document.write(filt);
答案 3 :(得分:0)
关于无限循环的此错误。 您可以检查此问题:ReactJS: Maximum update depth exceeded error 而且您还可以在DatePicker组件中设置dateFormat,例如:dateFormat =“ MMMM d,yyyy h:mm aa” 检查以下格式:https://reactdatepicker.com/