【问题标题】:React navigation different route params on same route在同一条路线上反应导航不同的路线参数
【发布时间】:2019-06-18 22:14:41
【问题描述】:

我的应用中有一条路线,可以从两个不同的位置导航到该路线。

具体来说:

主屏幕 (StackNavigation) -> 目标路线

标签导航 -> 目标路线

我注意到反应导航会重复使用相同的目标路由组件(不会重新挂载),而不管目标路由的导航方式也是如此。

不幸的是,这意味着路由参数始终与用于导航到目标路由的第一种方法相同。

我想在目标路线从主屏幕导航到时聚焦输入搜索框,但在通过选项卡导航导航时不聚焦。

最初我使用的是这段代码:

useEffect(() => {
    const _focusSearchBar = (payload) => {
        if (props.navigation.getParam('shouldFocus') && searchBar && searchBar.current) {
            searchBar.current.focus();
        }
    }
    let focusSub = props.navigation.addListener('didFocus', _focusSearchBar);
    _focusSearchBar();
    return () => focusSub.remove();
}, []);

我怎样才能做到这一点?目标路由也加载数据,所以它不重新挂载可能是一件好事......

本质上,我还需要一种方法来确定路线的导航方式,通过主屏幕或通过标签导航。

谢谢!

【问题讨论】:

    标签: reactjs navigation native react-navigation


    【解决方案1】:

    阅读https://reactnavigation.org/docs/en/navigating.html#navigate-to-a-route-multiple-times

    您需要使用navigation.push() 来运行具有不同参数的组件副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2023-03-11
      • 2020-11-13
      • 1970-01-01
      • 2016-11-02
      • 2018-05-03
      • 2020-03-06
      相关资源
      最近更新 更多