react-native - 参数更改时反应导航不会刷新页面
问题描述
我正在使用反应导航在页面之间导航。我有 2 页。我们称它们为 A 和 B。我在 A 页面上有一些卡片,并且卡片上有可触摸的不透明度以导航到具有不同 ID 的页面 B(使用此 ID 从服务器获取数据)。
<TouchableOpacity style={styles.button} onPress={() => this.props.navigation.navigate('pageB',{id:this.props.id})} >
<Text>PageB</Text>
</TouchableOpacity>
它在第一次导航时效果很好。但是,当我导航回页面 A(通过使用侧边菜单)并选择另一个导航按钮来导航页面 B(不同的参数)时,它会将我导航到第一次导航的同一页面。
我曾尝试使用这样的导航键,但我想我可以这样做;
this.props.navigation.navigate('pageB',{id:this.props.id}, this.props.id)}
解决方案
您必须像这样设置新参数:
static navigationOptions = ({ navigation }) => {
let value = navigation.getParam("value");
return {
title: name,
headerRight: () => (<Button title="Edit" onPress={() => navigation.navigate("Edit", { val: value})} />),
};
并始终在某处设置新参数,如下所示:
let value = this.state.value;
this.props.navigation.setParams({value});
推荐阅读
- javascript - 为什么我不能在 javascript 中使用 .env 文件中的 API 密钥?
- sql-server - 我无法将备份文件 .bak 恢复到另一台服务器(SQL Server 2017)
- javascript - fetch 在测试环境中从不调用 .then 或 .catch
- python-3.x - 如何打印每边长 3 个单位的星号方波图案,输入是星号的数量?
- r - 将值放入子列表
- javascript - × TypeError: Cannot read properties of undefined (reading 'form')
- powershell - 如何避免'ConvertFrom-Csv | ConvertTo-Json' 创建一个数组(方括号)
- php - 在 PHP 中连接两个值
- apache-kafka-streams - KafkaConnect - JdbcSinkConnector - 映射字段列
- html - 如何在vue中使组件高度相同