React Native 在屏幕之间传递值

2025年3月17日 | 阅读 3 分钟

在创建一个包含多个屏幕的应用程序时,有时需要在屏幕之间传递值。 这可以通过使用 this.props.navigation.navigate() 函数来实现。

此函数用于在不同屏幕之间导航。

在深入研究这个例子之前,您需要先浏览 React Native 导航

示例

在这个例子中,我们将在第一个屏幕中输入值,并在第二个屏幕中获取它。

该值(参数)作为对象传递到第一个屏幕中,传递给 navigation.navigate 函数,如下所示:

相同的值(参数)在第二个屏幕中读取为:

创建一个HomeScreen.js文件,并添加一个 TextInput 组件用于输入值,以及一个 Button 用于提交。 TextInput组件具有一个 onChangeText 属性,该属性接受一个函数,该函数将在文本更改时调用。

HomeScreen.js

在上面的代码中,userName: this.state.username 将输入到TextInput组件中的值存储起来,而 otherParam: '101' 直接分配一个值。 单击Button后,userNameotherParam 将传递到Profile屏幕。

ProfileScreen.js

在此屏幕中,我们使用 navigation.getParam('paramValue', 默认值) 接收 userName 和 otherParam 的值,并将它们存储到对象 user_nameother_param 中。 JavaScript对象的值使用 JSON.stringify(object) 函数转换为字符串。

App.js

创建 App.js 文件,因为它是应用程序的入口点,并导入 HomeScreenProfileScreen。 使用 initialRouteNameHomeScreen 设置为第一个屏幕。

输出

React Native Passing Value between Screen React Native Passing Value between Screen
React Native Passing Value between Screen React Native Passing Value between Screen

我们还将参数发送和接收到JSON中,例如:

HomeScreen.js

ProfileScreen.js

此屏幕以两种方式读取值,而不进行检查。

或者检查输入值是否为null


输出

React Native Passing Value between Screen React Native Passing Value between Screen
React Native Passing Value between Screen React Native Passing Value between Screen