条件反应导航标题按钮

Gho*_*sty 1 react-native react-navigation

我试图让一个按钮出现在headerRightReact 导航屏幕的标题栏中,但我似乎无法让它工作。

我希望开始按钮(在 中的内容headerRight)何时显示props.players.length > 1

任何人都可以指出我正确的方向吗?

Fro*_*ood 5

您可以使用此处描述的相同机制作为标题:https : //reactnavigation.org/docs/en/headers.html#setting-the-header-title

设置导航参数并在您的导航选项上使用它。

在你的情况下:

state = { players: 0 };

static navigationOptions = ({ navigation }) => {
  return {
    headerRight: navigation.getParam('players', 0) > 1 ? <YourHeaderButtonComponent /> : null ,
  };
};

addPlayer = () => {
    this.setState(({players}) => {
        this.props.navigation.setParams({players: players + 1})
        return {players: players + 1 }
    });
}

render {
    ...
    <Button onPress={this.addPlayer}
    ...
}
Run Code Online (Sandbox Code Playgroud)