警告:失败的子上下文类型:无效的子上下文' virtualizedCell.cellKey'类型'类型'提供给' CellRenderer',期待'字符串'

时间:2018-03-30 16:17:13

标签: ios reactjs react-native expo

我从反应16.2升级 - > 16.3-alpha-1和反应原生0.52-> 0.54,我在模拟器中得到上面的警告。

4 个答案:

答案 0 :(得分:68)

要修复使用keyExtractor的任何列表组件中的错误,请更新Component(FlatList等)以使用.toString()获得字符串键所有密钥现在必须是字符串值

如下所示;

keyExtractor={item => item.index_id}

keyExtractor={item => item.index_id.toString()}

此更改是keyExtractor的所有使用的必要条件,因此包含React-Native组件,例如; FlatList和ActionSheet。

答案 1 :(得分:1)

keyExtractor={(item, index) => index.toString()}

这将解决 ReactReact Native 给出的警告。

答案 2 :(得分:-2)

你可以试试这个解决方案:

typefilter = Sum('Minutes', filter=(Q(Type=scheduleChoice.G) | Q(Type=scheduleChoice.D)))

答案 3 :(得分:-3)

TouchableOpacity 确保您使用它,因为我删除了 TouchableOpacity,所以出现错误。

<TouchableOpacity
  onPress={() => { alert('test') }}
/>