将数组值映射到 PickerItem:"Cannot read property 'displayName' of undefined"

Mapping array values to PickerItem: "Cannot read property 'displayName' of undefined"

React 新手,正在学习在线教程。导师最初写了这段代码:

<Picker selectedValue={this.props.day}>
  <Picker.item label='Monday' value='Monday' />
  <Picker.item label='Tuesday' value='Tuesday' />
  <Picker.item label='Wednesday' value='Wednesday' />
  <Picker.item label='Thursday' value='Thursday' />
  <Picker.item label='Friday' value='Friday' />
  <Picker.item label='Saturday' value='Saturday' />
  <Picker.item label='Sunday' value='Sunday' />
</Picker>

渲染得非常好。

话虽这么说,但这是丑陋的代码。我认为从数组中映射它会更清晰,如下所示:

renderPickerItems() {
    return ['Monday', 'Tuesday', 'Wednesday',
            'Thursday', 'Friday', 'Saturday', 'Sunday'].map(day =>
        <Picker.item label={day} value={day} />
    );
}

因此,我编写了该函数并将第一段代码替换为:

<Picker selectedValue={this.props.day}>
  {this.renderPickerItems()}
</Picker>

然而,这并没有奏效。

我收到错误:

Unhandled JS Exception: TypeError: Cannot read property 'displayName' of undefined

我尝试将该方法的 return 打印到控制台,实际上我得到了传递了正确 props 的 React Native 对象,所以我不确定为什么它会失败。

我试图完成的事情似乎很微不足道,而且我似乎找不到任何有类似问题的人。

我正在使用 React Native 版本 0.51.0。

提前致谢。

好吧,答案是我很不擅长遵循指示。

正确的语法是 Picker.Item 而不是 Picker.item