警告:子上下文类型失败:提供给'CellRenderer'的类型为'number'的子上下文'virtualizedCell.cellKey',预期为'string'

dhj*_*dhj 32 ios reactjs react-native expo

我从反应16.2 - > 16.3-alpha-1和反应本机0.52-> 0.54升级而来,我在模拟器中得到了上面的警告.

dhj*_*dhj 107

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

如下;

keyExtractor={item => item.index_id}
Run Code Online (Sandbox Code Playgroud)

keyExtractor={item => item.index_id.toString()}
Run Code Online (Sandbox Code Playgroud)

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

  • 我一直输入 KEY={item => item.id} 而不是使用 *keyEXTRACTOR*。:D 谢谢! (2认同)

小智 6

keyExtractor={(item, index) => index.toString()}
Run Code Online (Sandbox Code Playgroud)

React这将解决和给出的警告React Native