React+Typescript 条件渲染
React+Typescript conditional rendering
我想为我拥有的每个配置文件创建一个选项。我检查了一下,我确实有一个配置文件,因此配置文件数组不为空并且 profile.profilename 不是未定义的。它只是不呈现。
我看到的:
Picture
<div className="col-4">
<select name="profile" className="billingSelector">
<option>Billing profile</option>
{(getProfiles() as any).forEach((profile:Profile) => {
<option>{profile.profileName}</option>
})}
</select>
</div>
我找到了解决办法。我使用 map 而不是 foreach,我删除了大括号并使用了常规大括号。
<select name="profile" className="billingSelector">
<option>Billing profile</option>
{getProfiles().map((profile:Profile)=> (
<option key={profile.profileName}>{profile.profileName}</option>
))}
</select>
使用 map
而不是 foreach
。
有区别。映射 returns 列表,foreach - 不是。
更多信息:
您可以试试 map 而不是 foreach 吗?例如
getProfiles().map((配置文件, 索引) => ( {profile.profileName}));
我想为我拥有的每个配置文件创建一个选项。我检查了一下,我确实有一个配置文件,因此配置文件数组不为空并且 profile.profilename 不是未定义的。它只是不呈现。
我看到的: Picture
<div className="col-4">
<select name="profile" className="billingSelector">
<option>Billing profile</option>
{(getProfiles() as any).forEach((profile:Profile) => {
<option>{profile.profileName}</option>
})}
</select>
</div>
我找到了解决办法。我使用 map 而不是 foreach,我删除了大括号并使用了常规大括号。
<select name="profile" className="billingSelector">
<option>Billing profile</option>
{getProfiles().map((profile:Profile)=> (
<option key={profile.profileName}>{profile.profileName}</option>
))}
</select>
使用 map
而不是 foreach
。
有区别。映射 returns 列表,foreach - 不是。
更多信息:
您可以试试 map 而不是 foreach 吗?例如
getProfiles().map((配置文件, 索引) => ( {profile.profileName}));