Expo的刷新限制
Expo's refreshing limitation
下午好,我正在尝试通过使用 expo 的刷新库来推动更新我的应用程序中的请求,但由于某种原因,在特定的代码行刷新后无法正常工作,我不知道为什么!我尝试制作文本片段以查看它是否是对 expo 刷新 lib 的限制并且它似乎是问题所在,但这真的是限制还是我在这里做错了什么?
return (
<View
style={{
height: "100%",
width: "100%",
//alignItems: "center",
}}
>
<FlatList
data={apidata}
keyExtractor={(index) => index.toString()}
scrollEnabled
extraData={apidata}
showsHorizontalScrollIndicator={false}
renderItem={({ item }) => {
const image = { uri: "https://cryptoicons.org/api/white/btc/200" };
return (
<ScrollView
refreshControl={
<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />
}
>
<View
style={{
alignSelf: "center",
marginVertical: 10,
width: "90%",
minHeight: 200,
flexDirection: "row",
marginLeft: "2%",
}}
>
<LinearGradient
style={styles.collapsed}
colors={[
"(rgba(91, 118, 234, 0.053))",
"(rgba(41, 72, 170, 0.192))",
]}
>
<Text style={styles.SignalText}>{item.symbol}</Text>
<View style={{ flexDirection: "row", alignItems: "center" }}>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Buy around : {item.enter}
</Text>
</View>
<View style={styles.cryptoLogo}>
<Image
style={{ width: "100%", height: "100%" }}
source={image}
/>
</View>
<View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<Text style={styles.SignalText}>
Target 1 : {item.target_1}
</Text>
<View style={styles.statusBall} />
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Target 2 : {item.target_2}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Target 3 : {item.target_3}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusball2} />
<Text style={styles.SignalText}>
Stop loss : {item.stop_loss}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall3} />
<Text style={styles.SignalText}>
Leverage : {item.leverage}
</Text>
</View>
</View>
</LinearGradient>
</View>
</ScrollView>
);
}}
/>
</View>
);
它将在 {item.stop_loss} 中断,不知道为什么
有什么建议吗?
所以对于所有可能遇到同样问题的人,我修复它的方式是从 <ScrollView>
中删除所有刷新属性(除了 RefreshControl)并将它们添加到刷新和 onRefresh Props 中平面列表
你可以看到这些道具here。
你仍然需要在 flatlist 中有滚动视图。
希望这能帮助那些可能和我一样陷入困境的人。
下午好,我正在尝试通过使用 expo 的刷新库来推动更新我的应用程序中的请求,但由于某种原因,在特定的代码行刷新后无法正常工作,我不知道为什么!我尝试制作文本片段以查看它是否是对 expo 刷新 lib 的限制并且它似乎是问题所在,但这真的是限制还是我在这里做错了什么?
return (
<View
style={{
height: "100%",
width: "100%",
//alignItems: "center",
}}
>
<FlatList
data={apidata}
keyExtractor={(index) => index.toString()}
scrollEnabled
extraData={apidata}
showsHorizontalScrollIndicator={false}
renderItem={({ item }) => {
const image = { uri: "https://cryptoicons.org/api/white/btc/200" };
return (
<ScrollView
refreshControl={
<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />
}
>
<View
style={{
alignSelf: "center",
marginVertical: 10,
width: "90%",
minHeight: 200,
flexDirection: "row",
marginLeft: "2%",
}}
>
<LinearGradient
style={styles.collapsed}
colors={[
"(rgba(91, 118, 234, 0.053))",
"(rgba(41, 72, 170, 0.192))",
]}
>
<Text style={styles.SignalText}>{item.symbol}</Text>
<View style={{ flexDirection: "row", alignItems: "center" }}>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Buy around : {item.enter}
</Text>
</View>
<View style={styles.cryptoLogo}>
<Image
style={{ width: "100%", height: "100%" }}
source={image}
/>
</View>
<View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<Text style={styles.SignalText}>
Target 1 : {item.target_1}
</Text>
<View style={styles.statusBall} />
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Target 2 : {item.target_2}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall} />
<Text style={styles.SignalText}>
Target 3 : {item.target_3}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusball2} />
<Text style={styles.SignalText}>
Stop loss : {item.stop_loss}
</Text>
</View>
<View
style={{ flexDirection: "row", alignItems: "center" }}
>
<View style={styles.statusBall3} />
<Text style={styles.SignalText}>
Leverage : {item.leverage}
</Text>
</View>
</View>
</LinearGradient>
</View>
</ScrollView>
);
}}
/>
</View>
);
它将在 {item.stop_loss} 中断,不知道为什么
有什么建议吗?
所以对于所有可能遇到同样问题的人,我修复它的方式是从 <ScrollView>
中删除所有刷新属性(除了 RefreshControl)并将它们添加到刷新和 onRefresh Props 中平面列表
你可以看到这些道具here。
你仍然需要在 flatlist 中有滚动视图。
希望这能帮助那些可能和我一样陷入困境的人。