我正在使用NavigatorIOS,当我传递给初始路线的道具发生变化时,我试图通过重置为下面找到的组件来更新它们,并使用&34; componentWillReceiveProps"中的新更新道具。
componentWillReceiveProps: function(nextProps) {
this.refs.navigator.resetTo({
title: 'Home',
component: search,
backButtonTitle: 'Back',
passProps: {
api: nextProps.api,
slug: nextProps.slug
}
});
}
我很确定我没有正确引用这条路线,但坦率地说,我还没有找到任何关于这个问题的有用资源。
Replace()完成更新道具的工作,但我也想要它来popToTop()。替换和重置两个都采取路由对象,所以我不明白为什么replace()工作和resetTo()给我这个错误。
这是我的NavigatorIOS:
<NavigatorIOS
ref='navigator'
initialRoute={
{
title: 'Home',
component: search,
backButtonTitle: 'Back',
passProps: {
api: this.props.api,
slug: this.props.slug
}
}
}
/>
答案 0 :(得分:1)
如果你声明如下:
var routes = this.refs.navigator.getCurrentRoutes();
然后您可以弹出如下路线:
this.refs.navigator.popToRoute(routes[1]);
答案 1 :(得分:0)
尝试使用更多手动但限制较少的React.Navigator
和…navigator.immediatelyResetRouteStack()
。
请参阅导航器文档https://facebook.github.io/react-native/docs/navigator.html