javascript - react : "Prop or nothing" in component property

标签 javascript reactjs

Firefly example project PostForm 组件中有此 defaultValue 行:

<Input
  type="text"
  name="title"
  defaultValue={this.props.post.title || ''}
  required
/>

当父组件未传递任何 prop 时,我在渲染此组件时遇到错误

TypeError: Cannot read property 'title' of undefined

当另一个组件传递 post 属性时就没问题了。为什么

|| ''

在没有 Prop 传递的情况下不起作用吗?

最佳答案

那是因为 postundefined 如果您不将它作为 prop 传递,这将在您执行 this.props 时引起错误。 post.title.

您需要检查 post 是否也存在于 props 中:

<Input
  type="text"
  name="title"
  defaultValue={this.props.post && this.props.post.title || ''}
  required
/>

关于javascript - react : "Prop or nothing" in component property,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51049272/

相关文章:

html - 禁用 Material-UI Stepper 组件的折叠操作

javascript - Firefox 中未对齐的 Bootstrap Carousel 图像

javascript - 从 json 数据动态渲染 React 组件

reactjs - 如何在创建 react 应用程序中进行应用程序版本控制?

javascript - 定制java脚本语言,从代码到代码

reactjs - 如何在 fetch 中正确编写 lambda 表达式

reactjs - 使用 useState 或 useRef (React) 将值清除到输入中

javascript - Dropdown Onchange 并将 JavaScript 值传递给 PHP

javascript - Worklight - Paho MQTT JavaScript : Always timeout on Android device and works in simulator

javascript - 在 appendChild 上未加载 Jquery 脚本