Я обновился с response 16.2 -> 16.3-alpha-1 и react-native 0.52-> 0.54, и я получаю предупреждение выше в симуляторе.





Чтобы исправить ошибку в любых компонентах списка, где используется keyExtractor, обновите компонент (FlatList и т. д.), Чтобы он имел строковый ключ с помощью .toString (). Все ключи теперь должны быть строковыми значениями.
Как показано ниже;
keyExtractor = {item => item.index_id}
к
keyExtractor = {item => item.index_id.toString()}
Это изменение является требованием для всех видов использования keyExtractor, чтобы включать такие компоненты React-Native, как; FlatList и ActionSheet.
Работает как шарм
Я продолжал использовать KEY = {item => item.id} вместо использования ключ ЭКСТРАКТОР. : D Спасибо!
keyExtractor = {(item, index) => index.toString()}
Это устранит предупреждение, выдаваемое React и React Native.
TouchableOpacity убедитесь, что вы его используете. У меня ошибка, так как я удалил TouchableOpacity.
<TouchableOpacity
onPress = {() => { alert('test') }}
/>Привет, @proinfinto, пожалуйста, убедитесь, что в вашем ответе должно быть какое-то описание. так как это имеет смысл понять немного более ясно
Теперь вы можете попробовать это решение:
keyExtractor = {(элемент, индекс) => элемент + index.toString ()}
этот ответ уже присутствует пользователем Аун Аббас. Дублирован.
Я знаю, но некоторое время index.toString () не решал проблему, поэтому item + index.toString () - лучшее решение для устранения предупреждения,
Я даже не использовал свойство keyExtractor и все равно получил это предупреждение. Пришлось добавить этот мусорный шум в свой код, чтобы избежать предупреждения. Плохой API.