将数组值映射到 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
。
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
。