React Native弹出菜单无法使用导航道具进行导航

时间:2018-12-20 07:49:05

标签: javascript react-native react-navigation react-native-popup-menu

我有Message反应导航堆栈屏幕。

...

class Message extends React.Component {
  static navigationOptions = ({ navigation }) => ({
    ...
    headerRight: <MessagePopupMenu navigation={navigation} />
  });

  render() {
    ...
  }
}

我想使用react-native-popup-menu导航到另一个屏幕。

...

export const MessagePopupMenu = ({ navigation }) => (
  <View>
    <Menu>
      <MenuTrigger style={styles.menuTrigger}>
        <Icon name="ios-add" size={30} color="#757575" />
      </MenuTrigger>
      <MenuOptions optionsContainerStyle={{ marginTop: 40, width: 100 }}>
        <MenuOption style={styles.menuOption}>
          <Text
            style={styles.text}
            onSelect={() => navigation.navigate("AddUser")}
          >
            AddFriend
          </Text>
        </MenuOption>
        <MenuOption>
          <Divider />
        </MenuOption>
        <MenuOption style={styles.menuOption}>
          <Text
            style={styles.text}
            onSelect={() => navigation.navigate("AddGroup")}
          >
            AddGroup
          </Text>
        </MenuOption>
      </MenuOptions>
    </Menu>
  </View>
);

const styles = StyleSheet.create({
  menuOption: {
    ...
  },
  menuTrigger: {
     ...
  },
  text: {
    ...
  }
});

当我单击MessagePopupMenuAddFriend菜单按钮时,导航道具似乎无法传递到AddGroup组件。

Message组件已经作为正确的导航屏幕进行了测试。

1 个答案:

答案 0 :(得分:1)

根据评论:noida应该绑定到onSelect组件,例如

MenuOption