【问题标题】:react navigation const file get params反应导航常量文件获取参数
【发布时间】:2018-03-23 03:34:28
【问题描述】:

我是 React Native 的新手,我正在尝试使用选项卡导航创建应用程序,但我找不到从 const TabNavigation 组件的上一页(我正在使用 StackNavigator)获取参数的方法。这是我的代码:

import React, { Component } from "react";
import { TabNavigator } from "react-navigation";

import Page1 from './tab/page1.js';
import Page2 from './tab/page2.js';

const Tab = TabNavigator({
    Page1: { screen: Page1 },
    Page2: { screen: Page2 },
  },
  {
    tabBarPosition: "bottom",
    swipeEnabled: false,
    animationEnabled: false,
    }
  }
);

export default Tab;

我正在尝试这样做,但这会导致应用无法从 Page1 或 Page2 内导航到其他页面

class Base extends Component {

  constructor(props) {
    super(props);
	this.state = { notif: 0 };
  }

  componentDidMount() {
  this.setState({ notif: this.props.navigation.state.params.notif })
  }

  render() {
	return (
      <Tab/>
    );
  }
}

export default Tab;

谢谢。

【问题讨论】:

标签: react-native react-navigation react-native-tabnavigator


【解决方案1】:

这就是您将react-navigation 中的参数从一个屏幕传递到另一个屏幕的方式。

navigate('screen_name',{param_key:param_value})

然后在下一个屏幕中提取这样的参数

const {params} = this.props.navigation.state

const value_from_previous_screen = params.param_key

【讨论】:

  • 是的,我明白这一点,但我不知道我应该把const {params} = this.props.navigation.state 放在我上面分享的第一个代码中,因为它会导致error: undefine is not an object (evaluating 'this.props.navigation')
  • 您正在导航到基本屏幕吗?
  • 是的,我导航到基本屏幕并将参数发送到其中,但我不知道如何在基本屏幕中获取参数
  • 请分享您导航到另一个屏幕的完整代码以及您将 Base 类添加到堆栈导航器的代码
猜你喜欢
  • 1970-01-01
  • 2020-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 2022-10-16
相关资源
最近更新 更多