在Child React Flow中访问对象Prop

时间:2018-02-02 10:44:30

标签: javascript reactjs flowtype

我有一个父组件,它将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> 
}

1 个答案:

答案 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需要从道具对象中提取。