react-native - 条件反应导航标题按钮
问题描述
我试图让一个按钮出现在headerRight
React Navigation 屏幕的标题栏中,但我似乎无法让它工作。
我希望开始按钮(里面有什么headerRight
)显示什么时候props.players.length > 1
。
谁能指出我正确的方向?
解决方案
您可以使用此处描述的相同机制作为标题: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}
...
}
推荐阅读
- python - 如何使用 cerberus 将字段验证为 URL
- java - 使用 Faster Jackson 反序列化数组时设置最大大小
- amazon-web-services - 无法通过 AWS MWAA 中的 cli 运行气流回填
- gradle - Gradle 的 buildSrc 文件夹是否应该提交到源代码仓库?
- css - Material-UI:背景上方不透明的文本
- odbc - 让 Windows 检测 IBM AS400 提供程序
- tsql - 需要一个存储过程,为每个选择计数(*)选择不同的,并将输出格式化为表格
- reactjs - 当用户状态改变时禁用按钮
- jenkins - Jenkinsfile 中的“脚本”步骤 - 权限被拒绝
- azure - PowerShell中的循环问题?