javascript - 为什么这个 React 条件渲染有问题?
问题描述
Props 数据由父元素获取。导致获取它们的延迟我检查了空或空道具并且控制台日志正常:
import React from 'react'
import styles from '../articles.css'
const TeamNfo = props => {
const team = props.teamData
// console.log( team)
return !team || team.length < 1
? <p>Loading ...</p>
: <>
{console.log(team)}
{/* {
city: "New Jersey"
count: 0
description: "At vero eos et accusamus et ."
id: 3
logo: "nets.png"
name: "Nets"
poll: "false"
stats: Array(1)
0: {wins: 23, defeats: 12}
} */}
<div className={ styles.articleTeamHeader }>
<div className={ styles.left }
styles= {{
background: `url('images/teams/${ team.logo })`
}}>
</div>
<div className={ styles.right}>
<div>
<span> { props.team.city } { props.team.name } </span>
</div>
</div>
</div>
</>
}
export default TeamNfo
在屏幕上返回此错误消息:
TypeError: Cannot read property 'city' of undefined
它是否仍在使用未定义的道具加载退货?
解决方案
team
是一个局部变量。使用team.city
或props.teamData.city
,例如:
<span> { team.city } { team.name } </span>
// or
<span> { props.teamData.city } { props.teamData.name } </span>
推荐阅读
- python - ModuleNotFoundError 在 bash 脚本中执行 Python 命令时
- kubernetes - 为什么 simple kubectl(1.16) 运行会显示错误?
- ios - 我必须迅速删除内置的观察者吗?
- windows - 使用powershell在.txt文件中查找出现次数最多的字符串
- oracle - 是否可以在过程中将数组作为参数传递?
- r - 在 R 中使用带有循环的其他变量名创建新变量
- c++ - 如何使用值获取结构的索引
- ruby-on-rails - Ruby on Rails:对两个字段使用关联?
- r - 在R中将数据帧拆分为n组数据帧的函数
- react-native - react-native-testing-library:如何使用 act 测试 useEffect