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 中有滚动视图。

希望这能帮助那些可能和我一样陷入困境的人。