我没有得到ref
中的flatlist
总是
警告:不能为功能组件提供引用。尝试访问 该裁判将失败。您是要使用
React.forwardRef()
吗?
我是本机初学者
export default class ListData extends Component {
constructor(props) {
super(props);
this.state = {
flatListRef: null
};
}
render() {
return (
<View style={styles.container}>
<FlatList
data={countryList}
ref={ref => (this.state.flatListRef = ref)}
style={{ flex: 1 }}
showsVerticalScrollIndicator={false}
showsHorizontalScrollIndicator={false}
renderItem={({ item, index }) => (
<View style={[styles.ListViewContainer]}>
<Text style={styles.countryTxt}>
<Text> +{item.code}</Text>
<Text> {item.CountryName} </Text>
</Text>
</View>
)}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: 40,
backgroundColor: "white"
}
});
答案 0 :(得分:0)
尝试一下:
在您的构造函数中
this.flatListRef = React.createRef()
,然后在FlatList中执行以下操作:
<FlatList ref={this.flatListRef} ...
答案 1 :(得分:0)
使用import { FlatList } from "react-native"
代替
import { FlatList } from 'react-native-gesture-handler';
正在工作。但是我仍然想为什么它不能与“ react-native-gesture-handler”一起使用。虽然列表显示正确,但引用没有得到。
答案 2 :(得分:0)
尝试将ref={null}
传递到列表项组件。
renderItem={({ item, index }) => (
<View style={[styles.ListViewContainer]} ref={null}>