Quero adicionar uma ação à guia, assim:
<Scene key="main" tabs={true} ...>
<Scene key="AAAA" component={AAAPage} .../>
<Scene key="Button" onPress={()=> ... } .../>
<Scene key="CCCC" component={CCCPage} .../>
</Scene>
o 'botão' do scence pode adicionar o protótipo onPress para vincular uma ação.
IMO, isso está fora do escopo deste projeto. Esta é uma pilha de navegação.
Além disso, adicionar esse novo recurso pode interromper significativamente as chamadas onPress de componentes downstream ou pode introduzir atrasos em visualizações complexas; por exemplo, visualizações usando ListView
Você pode fazer isso simplesmente adicionando onPress na visualização superior de cada uma de suas páginas.
corrigir a função react-native-router-flux / src / TabBar.js onSelect.
...
export default class extends Component {
onSelect(el){
const state = this.props.navigationState;
if (!Actions[el.props.name]){
throw new Error("No action is defined for name="+el.props.name+" actions:"+JSON.stringify(Object.keys(Actions)));
}
// rewrite Actions[el.props.name]();
if (!el.props.modal) {
Actions[el.props.name]();
}
else {
el.props.onPress();
}
}
...
Reagir arquivos nativos têm esta aparência:
<Scene key="main" tabs={true}>
...
<Scene key="OtherPage" component={OtherPageModal} modal={true} onPress={()=>alert("Test")} ... />
...
</Scene>
perfeito!!!
Comentários muito úteis
corrigir a função react-native-router-flux / src / TabBar.js onSelect.
Reagir arquivos nativos têm esta aparência: