我是 react js 的新手,我不知道為什么在按下 Avatar onPress 之前底部作業表會打開?請幫幫我!
function Profile() {
const sheetRef = React.useRef(null);
return (
<SafeAreaView style={styles.container2}>
<View style={styles.profileview}>
<TouchableOpacity onPress={() => sheetRef.current.snapTo(0)}>
<Avatar.Image
source={require("../assets/defaultprofile.jpg")}
size={80}/>
</TouchableOpacity>
<Title style={styles.text}>Name</Title>
<Caption style={styles.caption}>@username</Caption>
</View>
<BottomSheet
ref={sheetRef}
snapPoints={[200, 150, 0]}
borderRadius={10}
renderContent={renderContent}/>
</SafeAreaView>
);}
uj5u.com熱心網友回復:
該包在安裝時將 'snapPoints' prop 的第一個索引作為默認點。有兩個選項可以修復它:
1- 您可以將 'snapPoints' 屬性更改為 [0, 150, 200]。當您進行此更改時,它將采用第一個索引 (0),并將其掛載為“關閉”2-第二個選項是使用另一個名為“initialSnap”的道具,它采用初始點的索引,即 2為你。
所以,要清楚,這是我認為是一個解決方案的代碼塊:
function Profile() {
const sheetRef = React.useRef(null);
return (
<SafeAreaView style={styles.container2}>
<View style={styles.profileview}>
<TouchableOpacity onPress={() => sheetRef.current.snapTo(0)}>
<Avatar.Image
source={require("../assets/defaultprofile.jpg")}
size={80}/>
</TouchableOpacity>
<Title style={styles.text}>Name</Title>
<Caption style={styles.caption}>@username</Caption>
</View>
<BottomSheet
ref={sheetRef}
snapPoints={[200, 150, 0]}
initialSnap={2}
borderRadius={10}
renderContent={renderContent}
/>
</SafeAreaView>
);}
我希望它有幫助。祝你好運
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/353530.html
標籤:javascript 反应 反应原生
