我做了一个函数,它会获取日期,然后将其更改为字符串,然而typescript说它可能为null,我该如何让typescript满意呢。
我正在使用MUI日期选择器和反冲,我想将日期推到全局状态以用于以后的
// Start Date
const [startDate, setStartDate] = useRecoilState(StartDateState);
const [value, setValue] = React.useState<Date | null>(
new Date("2014-08-18T21:11:54")
);
const handleChange = (newValue: Date | null) => {
setValue(newValue);
setStartDate(newValue.toString());
};
error above=(parameter(newValue:Date|null对象可能为"null"。ts(2531(
我的Atom是
export const StartDateState = atom({
key: "StartDateState",
default: "",
});
我想在其中显示的ui是
const date = useRecoilValue(StartDateState);
Start Date : {date ? date : "No Start Date"}
所以总的来说,我想把日期推到一个全球性的状态,并在其他地方使用它。
您不应该使用Date | null
它应该是仅Date
的
因为您无法在JSX 内部显示null
我发现有效的答案是这个
const handleChange = (newValue: Date | null) => {
setValue(newValue);
setStartDate(newValue ? newValue.toString() : "");
};
我的原子是
import { atom } from "recoil";
export const StartDateState = atom({
key: "StartDateState",
default: "",
});