【发布时间】:2026-01-31 20:35:01
【问题描述】:
我正在尝试在 React-native 中使用自动完成功能,但显然我做错了。
这是一个显示我正在做的代码的最小示例:
import React, {useState, useEffect} from 'react';
import {
SafeAreaView,
StyleSheet,
TextInput,
Text,
TouchableOpacity,
View,
} from 'react-native';
import Autocomplete from 'react-native-autocomplete-input';
const DATA =
[{"id": 1,"title": "test1"},{"id": 2,"title": "test2"},{"id": 3,"title": "test3"}]
const App = () => {
const [query, setQuery] = useState('');
return (
<SafeAreaView style={{flex: 1}}>
<View style={styles.container}>
<Autocomplete
autoCapitalize="none"
autoCorrect={false}
data={DATA}
value={query}
onChangeText={setQuery}
renderItem={({item}) => (
<TouchableOpacity
onPress={() => {}}>
<Text>
{item.title}
</Text>
</TouchableOpacity>
)}
/>
</View>
</SafeAreaView>
);
};
我将代码减少到最低限度。
但是,我不断收到错误消息: “对象作为 React 子对象无效(找到:带有键 {id,title} 的对象”
似乎我缺少关于 renderItem 的一些非常明显的东西(我猜),但由于我被困了几个小时,另一只眼睛可以发现我做错了什么......任何帮助将不胜感激,谢谢。
【问题讨论】:
标签: javascript reactjs react-native autocomplete