0

我的问题看起来很简单,但我不知道如何解决它我有两个组件,我使用 StackNavigator 导航到它们,在其中一个组件中我有带值的状态,我需要将状态值传递给另一个组件,但正如我所说,我使用 StackNavigator 从一个组件转到另一个组件,我试图弄清楚我该怎么做

我的导航器:

 const Navigate = StackNavigator(
  {
    Home: { screen: HomeScreen },
    Riddles: { screen: RiddlesScreen },
    Introduction: { screen: IntroductionScreen },
    About: { screen: AboutScreen },
  },
  { headerMode: 'screen' }
);

我的主屏幕类:

class HomeScreen extends Component {
  static navigationOptions = {
    header: null
  }

  render() {
    return (
      <View>
        <Home navigation={this.props.navigation} />
      </View>
    );
  }
}

我的谜语课:

class RiddlesScreen extends Component {
  static navigationOptions = {
    header: null
  }
  render() {
    return (
      <View>
        <Riddles navigation={this.props.navigation} />
      </View>
    );
  }
}

在 Riddles 组件中(在 RiddleScreen 类中),我有需要传递给 Home 组件(在 HomeScreen 类中)的值的状态。

实现这一目标的最佳方法是什么?每一个帮助真的很感激!谢谢。

4

1 回答 1

0

您可以在导航时在屏幕之间传递数据。更多信息在这里

例子

<Button onPress={() => {this.props.navigation.navigate('SomeScreen', { some: this.state.someValue})}} />

// and in SomeScreen
console.log(this.props.navigation.state.params.some);
于 2017-10-23T19:44:25.383 回答