我有一个父组件,它将prop传递给子组件。当我尝试通过prop.a.name或prop.a.avatar访问prop时。我从流程中收到以下错误:
property name
无法在未知类型的属性a
上访问属性
属性name
无法在可能未定义的值上访问属性
这是父
的一部分const items = (authors, authorId) => {
const author = authors.find(a => a.id === authorId)
const info = {
name: author ? author.name : '',
profileImage: author ? author.profileImage : '',
company: author ? author.company : '',
}
return info
}
现在,如果我返回info.name或info.profileImage,它会传递但我想将此对象传递给子节点,以便我可以访问子组件中需要的位置。
这是孩子
type Props = {
info: string
}
const child = (props: Props) => {
... some code
<h1>{props.info.name}</h1>
}
答案 0 :(得分:1)
尝试:
const items = ({authors, authorId}) => {
const author = authors.find(a => a.id === authorId)
const info = {
name: author ? author.name : '',
profileImage: author ? author.profileImage : '',
company: author ? author.company : '',
}
return info
}
这是因为作者和authorId需要从道具对象中提取。