【发布时间】:2019-10-08 17:23:41
【问题描述】:
我希望在安装屏幕组件时打开所有标记的所有标注。目前,它仅在单击标记时才打开。如何在功能组件中使用 useRef 来做到这一点?
const markerRef = useRef(React.createRef)
return (
<View style={styles.container}>
<MapView
style={{ flex: 1 }}
region={region}
onRegionChangeComplete={onRegionChangeComplete}
>
{data && data.posts.map(marker => (
<Marker
ref={markerRef}
key={marker.id}
coordinate={{latitude: marker.latitude, longitude: marker.longitude }}
>
<Callout>
<Text>{marker.title}</Text>
<Text>{JSON.stringify(marker.price)}</Text>
</Callout>
</Marker>
))}
</MapView>
<View style={styles.inputContainer}>
<Icon name="magnify" size={30} color="lightgrey" />
<TextInput
placeholder="Search Term"
style={styles.input}
onChangeText={setSearch}
value={search}
returnKeyType="search"
onSubmitEditing={handleSubmit}
/>
</View>
</View>
当我console.log(markerRef.current)时,它不提供showCallout()方法。
【问题讨论】:
标签: reactjs react-native react-native-maps