我第一次在React Native中工作,并且每当用户单击另一个屏幕时都尝试重置堆栈导航。我已经在所有导航器上方创建了一个resetStack函数,但无法弄清楚在何处调用该函数才能正常工作,我已经在黑暗中拍摄了一段时间,因此感谢任何输入。预先感谢!
我尝试了几个不同的地方。在navigationOptions下方的Navigator中,将它们放在一起。如有必要,我可以共享更多代码。
private void updatePropertiesForDocuments(List<Document> docs, String a, String b) {
boolean isAMissing = isEmptyOrNull(a);
boolean isBMissing = isEmptyOrNull(b);
if(!isAMissing && !isBMissing) {
docs.forEach(doc -> {
doc.setA(a);
doc.setB(b);
saveDocument(doc);
});
} else if(!isBMissing) {
docs.forEach(doc -> {
doc.setB(b);
saveDocument(doc);
});
} else if(!isAMissing) {
docs.forEach(doc -> {
doc.setA(a);
saveDocument(doc);
});
}
}
resetStack = () =>{
this.props.navigation
.dispatch(StackActions.reset({
index: 0,
actions: [
NavigationActions.navigate({
routeName: Home
答案 0 :(得分:0)
我已经检查了您尝试过的解决方案。 尝试更换
onPress={() => { this.handleHomePressed() }}
使用
onPress={() =>this.handleHomePressed() }
内部handleHomePressed():
handleHomePressed(){
return this.props
.navigation
.dispatch(NavigationActions.reset(
{
index: 0,
actions: [
NavigationActions.navigate({ routeName: 'Home'})
]
}));
}
希望它能起作用!