javascript - 在子 react 流程中访问对象 Prop

标签 javascript reactjs flowtype

我有一个父组件,它将一个 prop 传递给子组件。当我尝试通过 prop.a.name 或 prop.a.avatar 访问 prop 时。我从流程中收到以下错误:

property name 无法在未知类型的属性 a 上访问属性 property 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 它会通过,但我想将此对象传递给子组件,以便我可以访问子组件中需要的位置。

这是 child

 type Props = {
  info: string
}

const child = (props: Props) => { 
   ... some code 
   <h1>{props.info.name}</h1> 
}

最佳答案

尝试:

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需要从props对象中提取。

关于javascript - 在子 react 流程中访问对象 Prop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48580966/

相关文章:

javascript - $(this) 和 this 有什么区别

javascript - 更改 React 中 onChange 的 props

typescript - 如何在流中定义具有指定类型的所有可选字段的泛型类型

javascript - 如何用JS让文本显示在复选框后而不需要手动修改HTML?

javascript - 隐藏表中没有 ID 的特定行

javascript - 在 jQuery 中使用 addClass 更改背景颜色

node.js - 如何删除filepond上的临时上传文件

javascript - React - 从 API 收到 401 响应后保留表单信息

javascript - 如何为已展平的嵌套对象生成类型?

javascript - Facebook 的 Flow 类型用于带有 ids 的嵌套对象