没有收到 JS 对象中字段的错误
Not receiving error for field in JS object
我创建了一个虚拟数组数据库,这是
const movies = {
_id: "5b21ca3eeb7f6fbccd471816",
title: "Die Hard",
genre: { _id: "5b21ca3eeb7f6fbccd471818", name: "Action" },
numberInStock: 5,
dailyRentalRate: 2.5
},
电影数组中没有 liked :true
但是当我映射它时我添加了 movie.liked 它没有给我任何错误为什么?
{this.state.movies.map((movie) => (
<tr key={movie.id}>
<td>{movie.title}</td>
<td>{movie.genre.name}</td>
<td>{movie.numberInStock}</td>
<td>{movie.dailyRentalRate}</td>
<td> <Like liked={movie.liked} onClick={() =>this.handleLike(movie)}/> </td>
<td
onClick={() => this.handleDelete(movie.id)}
className="btn btn-danger btn-outline-warning btn-sm active "
>
Remove
</td>
</tr>
))}
如果您使用的是 Typescript,它会捕捉到这一点并显示错误。
虽然使用纯 JS,但未定义的字段,如 movie.liked
,将在访问时解析为 undefined
。
然后 undefined
作为 prop 传入,如果您稍后在该组件中使用它,它将像 false
一样工作。
我创建了一个虚拟数组数据库,这是
const movies = {
_id: "5b21ca3eeb7f6fbccd471816",
title: "Die Hard",
genre: { _id: "5b21ca3eeb7f6fbccd471818", name: "Action" },
numberInStock: 5,
dailyRentalRate: 2.5
},
电影数组中没有 liked :true
但是当我映射它时我添加了 movie.liked 它没有给我任何错误为什么?
{this.state.movies.map((movie) => (
<tr key={movie.id}>
<td>{movie.title}</td>
<td>{movie.genre.name}</td>
<td>{movie.numberInStock}</td>
<td>{movie.dailyRentalRate}</td>
<td> <Like liked={movie.liked} onClick={() =>this.handleLike(movie)}/> </td>
<td
onClick={() => this.handleDelete(movie.id)}
className="btn btn-danger btn-outline-warning btn-sm active "
>
Remove
</td>
</tr>
))}
如果您使用的是 Typescript,它会捕捉到这一点并显示错误。
虽然使用纯 JS,但未定义的字段,如 movie.liked
,将在访问时解析为 undefined
。
然后 undefined
作为 prop 传入,如果您稍后在该组件中使用它,它将像 false
一样工作。