如何在react-native android中将值从一个组件传递到另一个组件

时间:2017-10-05 10:01:26

标签: reactjs react-native react-native-android create-react-native-app

我是反应原生android的新手,我想知道如何在一个反应​​原生的android中将值从一个组件传递到另一个组件,我只是想知道两件事,

  1. 如何传递数据
  2. 如何检索数据
  3. 提供任何易于理解的参考或链接。谢谢提前

2 个答案:

答案 0 :(得分:0)

如果您使用react-navigation从一个组件路由到另一个组件, 当您移动到新组件时,以params发送数据非常简单。看看docs here

android.js文件中,初始化所有路线,如下所示:

import Component from './app/components/Component/Component';
import HomeComponent from './app/components/HomeComponent/HomeComponent';
const Mobile = StackNavigator(
{Login: { screen: Component },
Home: { screen: HomeComponent },},
 { initialRouteName: 'Login' },
{ headerMode: 'screen' });
AppRegistry.registerComponent('Mobile', () =>Mobile);

然后首先加载登录屏幕,然后在函数或构造函数中使用此命令进行导航:

this.props.navigation.navigate('Home',{param:'SomeParameter'})

在主屏幕构造函数中打印出this.props,在控制台中,您将找到该对象中的param键。

答案 1 :(得分:0)

传递数据有两种类型,

  1. 状态:如果您的组件位于同一个类中,则可以使用state在组件之间传递数据
  2. 道具:如果您想在不同的类(子< - >父级)之间传递数据,请使用。
  3. 参考:https://facebook.github.io/react-vr/docs/components-props-and-state.html

    如果你的应用越来越大,React Native也会建议使用状态管理。

    最常用的状态管理之一是使用 REDUX , 简而言之,您可以使道具的行为类似于您可以在整个应用中访问的全局变量。

    有关详细介绍,您可以阅读:

    https://medium.com/@jonlebensold/getting-started-with-react-native-redux-2b01408c0053