提问人:kamyarDreamer 提问时间:10/21/2023 更新时间:10/21/2023 访问量:13
为什么当我在 React 中使用短路设置表单输入的默认值时会出现错误?
why am i getting error when i m using short circuit to set default value for form input in react?
问:
我正在创建表单组件以在 2 个不同的页面中使用表单,我想检查 is 值是否为查找设置它或给它一个空字符串,但它不起作用 whem 短路正在使用或三元运算符
这是我的代码:
import { useNavigate } from "react-router-dom";
import classes from "./EventForm.module.css";
function EventForm({ method, event }) {
const navigate = useNavigate();
function cancelHandler() {
navigate("..");
}
return (
<form className={classes.form}>
<p>
<label htmlFor="title">Title</label>
<input
id="title"
type="text"
name="title"
required
defaultValue={event.title || ""} // this line
/>
</p>
<p>
<label htmlFor="image">Image</label>
<input
id="image"
type="url"
name="image"
required
defaultValue={event.image || ""}
/>
</p>
<p>
<label htmlFor="date">Date</label>
<input
id="date"
type="date"
name="date"
required
defaultValue={event.date || ""}
/>
</p>
<p>
<label htmlFor="description">Description</label>
<textarea
id="description"
name="description"
rows="5"
required
defaultValue={event.description || ""}
/>
</p>
<div className={classes.actions}>
<button type="button" onClick={cancelHandler}>
Cancel
</button>
<button>Save</button>
</div>
</form>
);
}
export default EventForm;
我收到这个错误:无法读取未定义的属性(读取“标题”),而它应该被修复
我尝试了三元运算符和短路,但它只会导致故障
答:
0赞
vctqs1
10/21/2023
#1
它被抛出错误,因为你的力量是或event
null
undefined
错误说: -> 这意味着 undefined.title
崩溃Cannot read properties of undefined (reading 'title')
有很多方法可以修复它。
- 打电话前请检查一下
event
- 设置默认值
event = {}
- 或者使用可选链接 (?.) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
event?.title
评论