在 nextJS 应用程序中,使用 SWR 使用 SSR 刷新预取数据是一个好习惯吗?

问题描述

让我们假设以下页面

<View style={styles.container}>
      <View style={{margin:"5%"}}>
      <Text style={styles.title}>Sounds Effects</Text>
      <View style={{flexDirection:"row",justifyContent:'space-between'}}>
        <View style={styles.coinBox}>
        <Text style={{fontSize:15,fontWeight:'bold',color:'black'}}>200</Text>
        <FontAwesome5 name="coins" style={{paddingLeft:5}} size={24} color="gold" />
        </View>
        <View style={{flexDirection:'row',justifyContent:'center',alignSelf:'center',alignItems:'center',}}>
        <Text style={{fontSize:15,color:'black',paddingTop:'5%'}}>+10</Text>
        <FontAwesome5 name="coins" style={{paddingLeft:5,paddingTop:'5%',paddingRight:'2%'}} size={24} color="gold" />
        <View style={styles.coinBoxAd}>
        <Feather name="play" size={24} color="black" />
        </View>
        </View>
      </View>
      <View style={{flexDirection:'row',justifyContent:'space-between',marginTop:'10%'}}>
      <Text style={styles.livelloText}>Livello 1:</Text>
      <TouchableOpacity>
      <AntDesign name="arrowright" size={30} color="black" />
      </TouchableOpacity>
      </View>
      <StatusBar style="auto" />
      </View>
    </View> 

知道任务在不断更新, 关于表演,这是正确的吗?
我找不到任何关于此的文档。 (或者至少,理解)

解决方法

documentation的这部分可以在server端取数据然后把server端的数据传给swr来设置初始状态

const { data,revalidate } = useSWR('/api/posts',fetcher,{ initialData: props.posts })

当您获取新数据时,您可以调用 revalite 并且 swr 将处理新数据。 查看此 answer 了解详情

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...