如何使内部组件状态变为全局状态?

时间:2018-11-26 08:59:15

标签: reactjs routes state native

我通过本机制作了天气应用。 从AccuWeather获取天气数据并保存到状态。 而且我需要在子页面(第1、2、3页)中显示状态数据。

我该怎么办?请帮助我。

https://github.com/charian/WhatTheWeather

3 个答案:

答案 0 :(得分:0)

您应该通过道具将状态数据发送到其他组件/页面。

答案 1 :(得分:0)

在构造函数中定义状态。

constructor(props) {
    super(props);

    this.state = {
      experienceId: '',
      desktopDetail: this.props.navigation.state.params,
      clientId: '',
      installedVR: '',
      activeVR: '',
    };
  }

在组件的任何位置使用this.state.clientId访问变量。

答案 2 :(得分:0)

由于您没有提供任何特定的代码,因此我只能假设您要将一些道具传递给页面。我在您的仓库中发现了这件作品:

navigateToScreen = (route) => () => {
    const navigateAction = NavigationActions.navigate({
      routeName: route
    });
    this.props.navigation.dispatch(navigateAction);
}

此功能需要将道具传递到您要导航到的页面。

您可以这样this.props.navigation.navigate(route, {paramName: this.state.paramName});

在该页面上,您可以使用this.props.navigation.getParam(paramName, defaultValue)this.props.navigation.state.params访问这些道具。