当前位置: 首页 > 知识库问答 >
问题:

当有更多卡片组件要在react native中导航时,如何刷新导航婴儿车

苍温文
2023-03-14

当我单击一个卡组件并将数据传递到另一个页面时,以及当我返回并单击另一个从导航传递的参数时。导航未更改。这是我浏览的第一页

从“React”导入React,{useState,useffect};从“react native”导入{View,Text,TouchableOpacity,Button,StyleSheet,Image,ScrollView};从“react native vector icons”导入{Fontsome、Feather、MaterialIcons、Ionicons};

=({路线,导航})=

const[paymentList, setPaymentList]=useState([]); use效应(()=

)
  .then((res) => res.json())
  .then((data) => {
    setPaymentList(data);
  });

}, []); const showPayment=()=

     return (
       <View style={{padding: 8 }}>
       
       <PaymenCard date={Aname.date} discount={Aname.id} cash={Aname.amount} forwardLink={() => navigation.navigate('morePayments',{itemId: Aname.id})}/> 
       
       </View>
    
     );
   })

)}

return (
  <View style={styles.container}>
    <View style={styles.paymentbox}>
      <Text style={styles.payment}>Payments</Text>
    </View>
  
   <ScrollView>
      { showPayment()}
   </ScrollView>
  </View>
);

};

导出默认付款屏幕;

const样式=StyleSheet.create({容器:{flex: 1,背景颜色:'#22343C',

},付款:{fontsize: 42,颜色:"白色",fontWeight:"粗体",},付款框:{边缘左: 32,paddingBottom: 5}

});

功能PaymenCard(道具){

返回(

<TouchableOpacity onPress={props.forwardLink}>
<View style={styles1.cardbox}>
<View style={styles1.square}>
  <View style={styles1.dollarbig}>
    <MaterialIcons name="monetization-on" color="#FFC542" size={30} />
  </View>
</View>
<View style={styles1.datedisc}>
  <View style={styles1.date}>
    <Text style={styles1.datetext}>{props.date} </Text>
  </View>
  <View style={styles1.discount}>
   <View style={styles1.rocket}>
   <FontAwesome name="rocket" color="#FFC542" size={20} />
  </View>
   <View style={styles1.discountval}>
    <Text style={styles1.discounttext}>{props.discount}</Text>
  </View>
  </View>
</View>
<View style={styles1.cashbox}>
<Text style={styles1.cashtext}>{props.cash}</Text>
</View>

const样式1=样式heet.create({容器:{flex: 1,背景颜色:'#22343C',},纸箱:{高度: 115,宽度: 345,背景颜色:'#30444E',边框半径: 25,边缘左侧: 22,灵活方向:'row',},正方形:{高度: 57,宽度: 59,

borderRadius: 12,
backgroundColor: '#FF565E',
marginTop: 24,
marginLeft: 23,

}, dollarsize:{边缘顶部: 15,对齐项目:'center',},数据光盘:{边缘顶部: 24,边缘左: 16,宽度: 145, flexDirection:"列"},数据文本:{颜色:'白色',字体大小: 14,},折扣:{边缘顶部: 15, flexDirection:"row",},火箭:{

},折扣价:{marginLeft:13},折扣价:{color:“白色”,fontSize:14,},现金箱:{marginTop:30,marginLeft:25},现金文本:{color:“FF575F”,fontWeight:“粗体”,fontSize:18}

});

共有1个答案

壤驷旭
2023-03-14

我找到了解决方案。在那里我使用了初始参数。所以一旦值被设置,它就不会再升级了。我使用反应上下文API来设置全局更新值

 类似资料:
  • 当我单击一个卡片组件并将数据传递到另一个页面时,当我返回并单击从导航传递的另一个参数时,导航不会更改。这是我导航的第一页:

  • 我正在我的应用程序中尝试导航架构组件。早些时候,我使用片段事务来实现以下功能。基本上,我想从导航。 碎片- 如果我正在使用导航组件并尝试 然后结果是FragmentA被FragmentB替换并且背景片段不可见。 我想知道一个解决方案,如果导航架构组件允许的话。 附言:我听说过嵌套导航主机,但从内部使用它好吗。 更新: FragmentB将有进一步交易的行动,例如: 碎片- 当用户按下后退按钮时,片

  • 我正在一个新的Android应用程序上使用导航组件,但我不知道怎么做 首先,我有我的主活动,我有main_navigation_graph 主要活动 NavHostFragment main_navigation_graph里面有3个碎片 这里一切都很好。问题是当我到达最后一个片段时,因为在这个片段上,我想根据BottomNavigationView输入(暂时)显示一些子片段(在新的NavHost

  • null 在调用之前和之后,我尝试了,但都不起作用(这是有意义的:在它没有要弹出的内容之前;在它只关闭刚刚添加的片段之后)。这是否意味着唯一的方法是重写来拦截它,并确保在这些情况下不会被调用? 谢了!

  • 导航组件说明 组件 说明 最低版本 navigator 页面链接 1.0.0 functional-page-navigator 用于跳转插件功能页 不支持 navigator 属性 类型 默认值 必填 说明 最低版本 url string 否 当前小程序内的跳转链接 open-type navigate 否 跳转方式 hover-class string navigator-hover 否 指定

  • 我正在创建一个Android应用程序(Java),并第一次使用导航组件和Hilt。在导航编辑器中,我正在创建目标,并看到我创建的已用@AndroidEntryPoint注释的片段现在显示为“Hilt_”片段名称。现在我的应用程序无法构建,因为编译器正在寻找一个具有“Hilt_”片段名称而不仅仅是片段名称的构造函数。例如:我的片段名为Home片段,但在导航编辑器中它被称为Hilt_HomeFragm